Remote Production Using Magewell Ultra Encode and Pro Convert Devices with OBS Studio and SRT Streams
The SRT (Secure Reliable Transport) protocol enables secure, reliable, and low-latency delivery of high-quality video between multiple locations even over unpredictable networks like the public internet. In a previous blog post, we discussed how to send SRT streams directly from Magewell Ultra Encode universal live media encoders to Magewell Pro Convert decoders. You may, however, wish to perform further production on the original source stream – such as adding graphics, or mixing the SRT-based source with other live or pre-recorded content – before sending it to the decoder.
In this article, we will talk about an SRT workflow that uses Magewell Ultra Encode and Pro Convert devices with OBS Studio for remote production. We will explain both how to send SRT streams from Ultra Encode to OBS, and how to receive SRT output streams from OBS with Pro Convert decoders.
Devices Used in this Example:
- One Magewell Ultra Encode encoder (Ultra Encode HDMI is used in this example)
- One Magewell Pro Convert decoder (Pro Convert H.26x to HDMI is used in this example)
- One PTZ camera (as a video source for the encoder)
- One laptop with OBS Studio (V25.x.x or higher) installed, one display, and several HDMI cables and network cables.
Our content flow is outlined in the device connection diagram below.
Part 1: Magewell encoder sending SRT streams to OBS
1.In SRT workflows, one endpoint identifies itself as a Caller (which initiates the SRT streaming session), and the other as a Listener (which waits for a request from the Caller). Since OBS software can only be the SRT Caller, we will configure the encoder as the SRT Listener in our example.
2. Log into the Web GUI of the Ultra Encode device, click "Streaming Server" in the menu on the left, then click "Add Server". Select "SRT Listener".
3. Fill in the port number in the pop-up page (8000 in our example) and click "Save". The SRT decoding address will pop up in the lower right corner of the page (srt://10.10.3.148:8000 in our example). The encoder will begin streaming once a connection is initiated by an SRT Caller.
4. In the OBS software, click "+" in the "Sources" column and select "Media Source" in the pop-up list.
5. In the pop-up “Create/Select Source” panel, leave “Create New” selected. Give the new source a name (“Magewell SRT” in the example below), then click "OK".
6. In the pop-up Properties page, turn off the check box in front of "Local File" to cancel it, and fill in the SRT decoding URL in the format srt://<encoder IP>:<SRT listening port> in the "input" column (as shown in our example, srt://10.10.3.148:8000). Click "OK" to initiate the SRT session and begin decoding the SRT stream sent from the encoder.
7. The SRT stream from the Ultra Encode device can now be used as an input source in OBS for applying production effects.
Part 2: Magewell decoder receiving SRT streams from OBS
1. For sending the OBS output to a decoder over SRT, we will configure OBS as the SRT Caller, and the decoder as the SRT Listener.
2. Log into the Web GUI of the Pro Convert decoder. Enter the "Source" tab. In the "SOURCE PRESETS" section, click "Add" and select "MPEG-TS over SRT".
3. In the pop-up page, select "Listener" for the mode. Fill in the port number (10000 in this example), and click "OK".
4. The settings you just added will now be displayed in the “SOURCE PRESETS” list. Click "Select", and the decoder will begin waiting for OBS to initiate an SRT streaming session.
5. Click “Settings” in the OBS software interface.
6. In the pop-up “Settings” page, select the "Stream" tab, and fill in the SRT streaming URL in the format srt://<decoder IP address>:<SRT listening port> in the "Server" column (as shown in our example srt://10.10.12.195:10000). Then click "OK".
7. Click "Start Streaming" to begin sending the OBS output as an SRT stream.