Clevercast allows you to send an SRT broadcast with multiple audio tracks which results in a multilingual live stream. OBS Studio lets you configure six stereo tracks, which allows you to produce a live stream with up to 12 languages (by panning them L+R). To do this, you need OBS Studio’s support for SRT multi-track broadcasting through its Custom FFmpeg Record output.
This guide explains how to set up an SRT multilingual event in Clevercast, how to use stereo channels to double your number of languages, and how to configure OBS Studio.
Please note that:
- hardware encoders usually provide a more reliable stream, more tracks and more options. If you have a hardware encoder that supports multiple audio tracks, we recommend using it.
- 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
- if you just need 2 languages, you can also use vMix or OBS Studio’s streaming output (option 1 in the OBS manual page). In that case, pan the audio streams L+R and change the ‘Languages per Track’ setting in your Clevercast event to 2. See the SRT overview page and our Broadcasting Guidelines for more info.
- Clevercast also allows you to broadcast multiple audio channels using RTMP surround sound and has its own Translate at Home protocol for remote simultaneous interpretation via the browser.
1. Set up your multilingual event
In Clevercast, an Event is used as name for a live stream. To start a new multilingual live stream, go to the event overview page. Click on the Create Multilingual menu on the left side of the screen.
A popup dialog will be displayed:
- Enter the name of your live stream
- Select SRT Listener (OBS Studio will act as the SRT Caller)
- Select your broadcast’s original language as the ‘Default Language’. If your floor audio contains multiple languages, you can select Original instead of a language.
- Press the ‘Create’ button
A multi-language event will be created. You can now add the additional language(s) that you will be broadcasting. Go to the Advanced panel at the bottom of the page and select the Additional Languages you need. The number of languages you can select depends on your Clevercast plan.
You can also change the number of languages per track:
- if each track contains a single language (mono or stereo), set Languages per Track to 1 (default)
- If you are using stereo tracks to stream 2 languages (panned L+R), make sure to set Languages per Track to 2. In this case, Clevercast will turn the stereo channels into two mono languages.
You can also set or copy the ‘SRT Passphrase’ (authentication) and ‘SRT Key Length’ (encryption) to be used in your encoder settings
2. Audio Input and OBS Studio settings
The Broadcast panel on the left of your Event page in Clevercast will contain the order of the languages. Make sure your input sends the languages to OBS in the same order. OBS must send the same number of tracks as the number of languages in Clevercast (or half the number if you are using stereo tracks with languages panned L+R).
For more than 2 audio track, you must use option 2 in this OBS Studio guide.
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).
128 Kbps(or more in special circumstances)
- 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 cause 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 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 broadcasting guidelines.
3. Test your broadcast
Before you start your encoder, press the Change Event Status button in Clevercast and select ‘Preview Broadcast’. This will start server-side processing of your stream, required for the SRT listener to start.
Then start OBS by pressing the Start Recording button (= NOT the Start Streaming button). After about a number of seconds (latency), you will be able to see your broadcast in the Preview Player. Note that the preview is only visible to you as Clevercast admin. Your viewers will not be able to see the video until the event is started.
Clevercast transmuxes and transcodes the incoming streams and delivers the result to your viewers using adaptive streaming. Press the headset menu in the preview player to change the language. Clevercast player can be embedded in your site using the embed code below the players. For a responsive embed code, press the ‘Customize’ button, select ‘Use Responsive Embed Code’ and use the Copy button in the popup dialog.
4. Managing the live stream
When you are ready to start the live stream, press the Start Event button: the live stream will automatically become available to your viewers in the embedded player. You will also see the stream start in the ‘Public Livestream’ player.
After you have finished broadcasting, set the Event status to ‘Ended’ or reset it to ‘Waiting for Broadcast’. This will stop your consumption of server-side resources.