Sending an RTMP Video Stream to Wowza Streaming Cloud With Ultra Low Latency

January 3, 2019 by


You can use your own encoder to send streams with sub-three-second end-to-end latency to the Wowza Streaming Cloud™ service with Ultra Low Latency. The ability to connect any H.264 encoder that supports Real-Time Messaging Protocol (RTMP) to our cloud-based service allows you to integrate interactive live streaming experiences into any workflow, using the equipment you already have.

In this video, we’ll demonstrate using Open Broadcaster Software (OBS) Studio — a free and open-source streaming and recording solution — as our RTMP-based encoder. The video will show you how to use the Wowza Streaming Cloud REST API to create an ultra-low-latency stream target and configure OBS as the video source for a real-time stream.

To learn more about live video streaming with your RTMP encoder and the Wowza Streaming Cloud service with Ultra Low Latency, see our technical documentation.

Full Video Transcript:

Justin Miller:

Let’s look at how to send an RTMP stream to Wowza Streaming Cloud with Ultra Low Latency. Ultra Low Latency stream targets can only be created through the REST API, so it’s important to know how to create one using a shell script.

From the online API documentation, we’ll search using Create Ultra Low Latency Stream to find the right info. Select the first result, then go to the right side of the screen and copy the shell sample. It’ll look like this. Now before we can execute this cURL command, we’ll need to make a few changes. Go your Wowza Streaming Cloud account with Ultra Low Latency and under your name, select API Access. Here, you’ll need the API key to copy into the cURL command, as well as the available access key.

You may want to make a new one for your own use. Once these keys are added to the cURL command, you’ll still need to go below ULL Stream Target and include the name of your stream, the source delivery method and to enable HLS as a backup. Don’t forget that this cURL command needs to work outside the sandbox, so we’ll remove “sandbox” from the post URL.

Now, open up a terminal and execute the cURL command. That’s it. The success response should have the information you need to create the stream target. But, you can go back to Wowza Streaming Cloud and use the advanced button in the top menu to access stream targets. The one you created should appear with the name you’ve given it. It’ll have the listed type “ultra low latency.”

Click on it and locate the primary URL. This is all you will need to create the stream target. For sending an RTMP stream, we’ll be using OBS: Open Broadcaster Software. Under settings, you’ll need to go to the stream option and change the stream type to “custom streaming server.” Now, we’ll take the primary URL and use the first half for the URL and the last half, which is the stream name, as the stream key. There’s no need for authentication. Click okay and then you’re ready to start streaming.

Once the stream is active, you should be able to go back to Wowza Streaming Cloud and use the test player link to verify the stream is sending. Just play the video, and you’ll be able to see yourself with a less-than-three-second delay.

Use that embed code somewhere and everyone can see it too. That’s it for sending an RTMP stream to Wowza Streaming Cloud with Ultra Low Latency. Thanks for watching.

About Traci Ruether

As a Colorado-based B2B tech writer, Traci Ruether serves as Wowza's content marketing manager. Her background is in video streaming and content delivery. In addition to writing, Traci enjoys cooking, gardening, and spending quality time with her fur babies. Follow… View more