OBS Studio configuration for a multi-track SRT broadcast (max 12 languages)
OBS Studio lets you configure six stereo tracks and send them in a single broadcast using the SRT protocol. To do this, you need OBS Studio’s support for SRT multi-track broadcasting through its Custom FFmpeg Record output.
Event configuration in Clevercast
You can use each stereo track for sending two languages by panning them L+R. This way, you can broadcast a live stream with max 12 languages.
When creating an event in Clevercast, choose 'SRT multilingual broadcast (Clevercast as listener)' as the broadcast protocol.
It is important to set the correct number of languages per track (1 or 2) in the settings of the event's Broadcast tab in Clevercast. Otherwise, Clevercast won't be able to convert your broadcast into a multilingual live stream.
- If each stereo track only contains a single language, Languages per track should be set to 1. In that case, OBS must send the same number of audio tracks as the number of audio languages in Clevercast.
- If each stereo track contains 2 languages (panned L+R), Languages per track should be set to 2. In that case, the number of audio tracks sent by OBS must be half the number of audio languages in Clevercast.
For more info on how to set up and manage the live stream in Clevercast, see this tutorial.
Audio input and OBS Studio settings
A multi-track environment can be created by adding multiple audio devices using “Audio input capture” sources. These audio capture devices can be physical (eg. analogue-to-USB stereo), or virtual (e.g. Dante DVS receive 1-2, ..)
Make sure your input device sends the languages to OBS in the order on the Audio Languages tab in Clevercast.
Go to OBS Studio’s Output menu, select the Advanced ‘Output Mode’ and go to the Recording tab. Configure this tab as follows:
- In the
Custom Output (FFmpeg)
- In the
FFmpeg Output Typedropdown, select
Output to URL
- In the
File Path or URLbox, type the URL of the SRT Caller (you need data from Clevercast for constructing the URL, see below)
Container Formatdropdown, select
- Select a
Video Bitratethat is in accordance with your connection and encoder resources.
Keyframe interval (frames)set
50(if your framerate is 25 FPS, recommended) or
60(if your framerate is 30 FPS)
Video Encoder Settings. For example:
presetvalue depends on your CPU power. Set it to ‘veryfast’ if you have enough headroom left while active (with actual content). Otherwise use ‘ultrafast’.
x-264-paramsvalue should be used to set ‘vbv-maxrate’ and ‘vbv-bufsize’ to the value of your video bitrate (eg ‘6000k’ if your video bitrate is 6000 kbps).
160 or 128 Kbps. Note that OBS Studio will use this for each audio track that is broadcasted.
- Check the number of
Audio Tracksthat corresponds with the total number of languages in Clevercast (or half the number if you are using stereo tracks with languages panned L+R)
The SRT Caller URL can be copied from the Broadcast panel of your Clevercast event. Here is an example of an SRT Caller URL:
The URL scheme is
srt:// followed by the
IP address and
Port of the SRT listener. The following query-string arguments are being used
modeargument should be set to
portargument should be set to the
Listener port(= same port as in the first part of the URL)
latencyargument should preferably be set to
2000000(= 2 seconds)
pbkeylenarguments can be retrieved and set in the Advanced panel of your event
inputbw=0&oheadbw=10&maxbw=0arguments are set to limit overhead bandwidth. If these aren’t set, SRT’s built-in error correction mechanism could casue sudden bitrate peaks, which could result in your broadcast stopping with an error (depending on your available upload bandwidth).
In OBS Studio’s Audio menu, the Audio Channels control should be set to
mono (if you are sending a single language per track) or
stereo (if you are sending two languages per track using L+R panning).
Make sure to configure the other Video and Audio settings in OBS in accordance with our broadcast guidelines.
Starting the broadcast
Before you start your encoder, set the event in Clevercast to
Preview. This starts the SRT listener, allowing Clevercast to receive the broadcast.
Then start OBS by pressing the Start Recording button (= NOT the Start Streaming button). After a number of seconds (latency), you will be able to see your broadcast in the Preview Player.
Please note that if your local network is unstable and your connection is temporarily dropped, the custom FFmpeg record output will not automatically reconnect, requiring you to press the Start Recording button again.