DEV Community

Cover image for 5 Different ways to Broadcast SRT Streams
Braden Riggs for Dolby.io

Posted on • Updated on

5 Different ways to Broadcast SRT Streams

Originally published here

SRT, or Secure Reliable Transport, is a type of streaming protocol that provides enhanced security and reliability for video streaming. SRT is becoming increasingly popular among broadcasters and streamers including industry stalwarts such as ESPN because of its ability to deliver high-quality content over challenging network conditions and for its ability to make contribution and stream ingestion easy. SRT streams provide improved security, low latency, and flexibility and is supported by a global community of developers all contributing to the open-source project. Because of the power of SRT streams, Dolby.io Real-Time Streaming has decided to launch support with an SRT open beta program.

In this guide, we'll cover a few different ways you can start broadcasting SRT streams with Dolby.io such as OBS, vMix and many more:

Streaming SRT with OBS
Streaming SRT with vMix
Streaming SRT with your iPhone
Streaming SRT with Avid Media Composer
Streaming SRT Directly from an Osprey Talon Encoder 

Streaming SRT with OBS

For readers familiar with the Dolby.io platform you might know about our custom forked version of OBS designed to stream WebRTC natively. Although you can use our WebRTC-enabled OBS fork, you can actually publish SRT streams to the Dolby.io servers from the original OBS project. To do this you must have an active Dolby.io account, which you can create for free and the latest version of OBS installed on your system. To start publishing SRT streams with OBS follow the steps below:

1. Login or create a Dolby.io account and download OBS.

2. Navigate to your Dolby.io streaming dashboard and create a new token. You can leave all the token settings to default.

3. Open the API tab on your newly created token dashboard and navigate to the bottom where you'll see the SRT publish path, the SRT stream ID, and the SRT publish URL. Copy SRT publish URL.

Pictured is a screenshot of Dolby.io Streaming Token API tab. Highlighted on screen in a red box is the SRT publish URL used in OBS.

The Dolby.io Streaming Token API tab. Highlighted box indicates the SRT publish URL used in OBS.

4. Open OBS and navigate to settings, then the Stream tab.

5. Inside of the Stream tab, set Service to Custom and Server to the SRT publish URL.

Pictured is a screenshot of the black and grey OBS stream settings page. On screen the Service is set to

OBS stream settings page. Remember to set Service to "Custom" and Server to "Your SRT Publish URL".

6. Apply the changes and exit settings. You are now all set up to stream with OBS. When publishing, your SRT stream will be delivered to the Dolby.io Streaming Viewer, which can be found at the Hosted Player Path.

Pictured is a screenshot of the Doby.io Streaming Token API tab, with hosted player path highlighted in a red box.

The Dolby.io Streaming Token API tab, with hosted player path highlighted. Opening this path in a browser will launch the stream.

Although the hosted player path is a great way to view the stream, you can use the Dolby.io Streaming JavaScript SDK to build a bespoke solution.

Note: If you are using the NVIDIA NVENC H.264 encoder that comes included with OBS you must set Max B-Frames to 0. This setting can be found in Output, then Advanced Output Mode, then the Streaming tab, where Encoder is set to NVIDIA NVENC H.264 and then Max B-frames is set to 0.

If you are using the NVIDIA NVENC H.264 encoder that comes included with OBS you must set Max B-Frames to 0. Image depicts this fix in the settings which can be found in Output, then Advanced Output Mode, then the Streaming tab, where Encoder is set to NVIDIA NVENC H.264 and then Max B-frames is set to 0. Image depicts each of these settings highlighted in red boxes for clarity.

If you are using the NVIDIA NVENC H.264 encoder that comes included with OBS you must set Max B-Frames to 0. This setting can be found in Output, then Advanced Output Mode, then the Streaming tab, where Encoder is set to NVIDIA NVENC H.264 and then Max B-frames is set to 0.

Streaming SRT with vMix

vMix is a paid windows-only remote production tool used for vision mixing. It allows users to juggle input and outputs for live broadcasts and productions and includes support for publishing SRT streams. To publish an SRT stream with vMix follow the steps below:

1. Login or create a Dolby.io account.

2. Download and open vMix.

3. Navigate to your Dolby.io streaming dashboard and create a new token. You can leave all the token settings to default.

4. Open the API tab on your newly created token dashboard and navigate to the bottom where you'll see the SRT publish pathSRT stream ID, and the SRT publish URL. Copy the SRT publish path and the SRT stream ID.

5. Inside of vMix open settings and switch to Output / NDI / SRT

Pictured is a screenshot of the vMix mixing stage. Highlighted in a red box is the settings users should click on.

The vMix mixing stage. Navigate to "Settings" and click on "Outputs / NDI / SRT" to open up the SRT settings menu.

6. Once you've switched to Output / NDI / SRT open the gear icon next to an output source.

Pictured is a screenshot of vMix settings with the SRT settings tab highlighted in red and the gear icon next to output 1 highlighted in red.

Inside the SRT settings, select the gear icon highlighted in red.

7. Inside the output settings enable SRT, set the Hostname to the Dolby.io Millicast endpoint and the Port to the appropriate port (typically 10,000). Additionally, include the Stream ID and make sure the Quality settings match the limitations of Dolby.io SRT streaming.

Pictured is a screenshot of the vMix Output 1 Outpub Settings with Enable SRT, Hostname, Port, StreamID, and Quality all highlighted in red boxes denoting their importance for creating a successful SRT stream.

When creating the SRT stream define Hostname, port, Stream ID, and Quality.

8. Press OK and exit settings. You are now all set up to stream with vMix. When streaming, your SRT stream will be delivered to the Dolby.io Streaming Viewer, which can be found at the Hosted Player Path.

Pictured is a screenshot of the Doby.io Streaming Token API tab, with hosted player path highlighted in a red box.

The Dolby.io Streaming Token API tab, with hosted player path highlighted. Opening this path in a browser will launch the stream.

Although the hosted player path is a great way to view the stream, you can use the Dolby.io Streaming JavaScript SDK to build out a bespoke solution.

Streaming SRT with your iPhone

Softvelum's Larix Broadcaster is a tool available for iOS, Android, and React Native that allows you to push SRT streams directly from your mobile device. To set up a Larix SRT stream on an iOS device:

1. Login or create a Dolby.io account.

2. Download the Larix Broadcaster from the App Store.

3. Navigate to your Dolby.io streaming dashboard and create a new token. You can leave all the token settings to default.

4. Open the API tab on your newly created token dashboard and navigate to the bottom where you'll see the SRT publish path, the SRT stream ID, and the SRT publish URL. Copy the SRT publish path and the SRT stream ID.

5. Open the Larix Broadcaster and then Settings. From Settings, go to Connections and add a new connection.

Pictured is a screenshot from an iOS device using the Larix Broadcaster with a red box highlighting a plus icon.

Create a new connection with the plus icon in the top right corner.

6. Inside the connection, set the URL parameter to your Dolby.io Real-Time Streaming SRT publish path and set streamid to your SRT stream ID.

Pictured is a screenshot of an iOS device using the Larix Broadcaster with a red box around URL and streamid to indicate their importance to starting the srt stream.

When adding a new connection in the Larix Broadcaster make sure to assign "streamid" and "URL".

7. From here you can exit your settings and start the stream by pressing the record button on the broadcaster.

Pictured is a screenshot of an iOS device on the Larix Broadcaster screen with the recording button active and stream started. The srt stream itself is of a black screen with no features.

Press the record button on the left to start an SRT stream.

8. Like the OBS and vMix examples, your SRT stream will be delivered to the Dolby.io Streaming Viewer, which can be found at the Hosted Player Path.

Pictured is a screenshot of the Doby.io Streaming Token API tab, with hosted player path highlighted in a red box.

The Dolby.io Streaming Token API tab, with hosted player path highlighted. Opening this path in a browser will launch the stream.

Dolby.io Real-time Streaming supports a number of SDKs for creating viewer apps including a Flutter 3 SDK for creating viewer apps for Android, iOS, and Web.

Streaming SRT directly from an Osprey Talon Encoder 

OBS, vMix, and Larix Broadcaster are examples of software tools that you can leverage for streaming SRT into the Dolby.io Streaming service, but what about hardware options? Depending on the scale of live production you might have access to cameras with built-in encoders that can directly egress SRT, which we can also connect to the servers. For cameras that don't have built-in encoders, you can connect the camera to an external encoder, some of which support SRT. One example of this is the Osprey Talon 4K-SC, which is not only the first WHIP encoder but can also encode SRT streams that we can connect to the Dolby.io servers. 

1. Login or create a Dolby.io account.

2. Connect your Osprey Encoder to your camera and power it up.

3. Download the Osprey BOSS PRO application, which will allow you to discover the encoder on your local network. Alternatively, follow this in-depth guide by the Osprey team for setting up your encoder.

4. Click on the appropriate encoder, launch the web interface and sign in. Information regarding signing into Osprey equipment can be found here. Once signed in you will now be in the Osprey Dashboard.

5. Navigate to your Dolby.io streaming dashboard and create a new token. You can leave all the token settings to default.

6. Open the API tab on your newly created token dashboard and navigate to the bottom where you'll see the SRT publish path, the SRT stream ID, and the SRT publish URL. Copy the SRT publish path and the SRT stream ID.

Pictured is a screenshot of Dolby.io Streaming Token API tab. Highlighted on screen in a red box is the SRT publish URL used in OBS.

The Dolby.io Streaming Token API tab. Highlighted box indicates the SRT publish URL used in OBS.

7. Inside the Osprey Dashboard, set SRT Dest Address to the SRT publish path excluding the port. Set SRT Port to the port number at the end of your SRT publish path (usually 10000) and set SRT Stream ID to your SRT Stream ID. 

Pictured on screen is a screenshot of the black and grey Osprey settings board with SRT Dest Address, SRT Port, and SRT Stream ID highlighted in red to indicate where users should input credentials to start an srt stream through the dolby.io servers.

Set the SRT Dest Address to the SRT publish path, and SRT Port to 10000, and the SRT Stream ID to your Dolby.io Streaming Token Stream ID.

8. From here press start and the encoder will begin streaming content through the Dolby.io servers.

Limitations of Publishing SRT Streams to Dolby.io

Streaming SRT is just one part of the equation, Dolby.io Real-time Streaming also supports a number of SDKs for building streaming into your platforms and apps. If you are interested in learning more about how to use our SDKs check out our blog and let us know what you're building next.\
Feedback or Questions? Reach out to the team on TwitterLinkedIn, or via our support desk.

Top comments (0)