The Secure Reliable Transport (SRT) protocol is a relatively recent open source streaming protocol, promoted by the SRT Alliance of which Clevercast is a member. It includes mechanisms for packet recovery while maintaining low latency between encoder and ingest server. It is therefore particularly suited for long-distance and high-quality broadcasting across unreliable and unpredictable networks like the public internet.
Clevercast supports both SRT and RTMP broadcasts. Currently, SRT is often used for multilingual live streaming. But it is also perfectly possible to use it for regular live streams without realtime translation. Because of its reliability over long distances, we recommend it for broadcasts from outside of Europe.
Broadcasting one or two languages to Clevercast is possible with any SRT encoder. To broadcast more than 2 languages, your encoder needs support for multiple audio-tracks (most hardware encoders, OBS) or multiple audio-channels (vMix). Hardware encoders like Makito X support 16 languages and more in a very reliable fashion.
Even if your encoder doesn’t support multiple audio-tracks, you can still produce a multilingual live stream by sending a single language stream to Clevercast and adding the other languages using Remote Simultaneous Interpretation via Clevercast Translate at Home (T@H).
Important: before you start broadcasting, always ensure that the status of your Clevercast event is set to Preview, Started or Paused. If the event status is Waiting or Ended, no SRT listener will be active in Clevercast and your broadcast will fail.
Single language broadcasts
Single language SRT broadcasts can either be used for a regular live stream with mono or stereo audio, or as the source of a multilingual live stream with Remote Simultaneous Interpretation (RSI) using Clevercast T@H (= video + floor audio).
For this purpose, you can use any SRT encoder (or re-streaming platform) including software encoders like vMix and OBS Studio. Just configure them in the same way as for any SRT broadcast, using the SRT Caller data of your Clevercast event.
Note that OBS Studio has 2 options for SRT broadcasting. In this case, we recommend to use the regular Streaming Output option (1). This allows you to do a local recording while broadcasting and your broadcast will continue when there’s an interruption.
For OBS Studio, the configuration is very simple: just copy the ‘SRT Caller URL‘ from the ‘Broadcast’ panel (of your Clevercast event) to the ‘Server‘ field in OBS Studio (on the ‘Stream’ tab, after selecting a ‘Custom’ service). You can leave the ‘Stream Key’ empty (see screenshot above). Some query-string arguments in the ‘SRT Caller URL’ are only necessary for option 2 (see below), but they will just be ignored.
For vMix, enable SRT and select the ‘Caller’ type, and fill in the ‘Hostname‘, ‘Port‘, ‘Passphrase‘ and ‘Key Length‘ with data from the ‘Broadcast‘ and ‘Advanced‘ panels of the Clevercast event.
Dual language broadcasts
To do this, first create a multilingual event in Clevercast with ‘SRT Listener’ as your broadcast protocol. On the event page, go to the ‘Advanced’ panel and set ‘Languages per Track’ to 2.
For OBS Studio, we also recommend the regular Streaming Output option (1) for this kind of broadcast. First ensure that your audio ‘Channels’ are set to ‘Stereo‘ (in the ‘Audio’ tab). Configuration is the same as for a single language broadcast, by copying the ‘SRT Caller URL‘.
For vMix, the SRT configuration is mostly the same as for a single language broadcast, except that a stereo channel is required.
Configure your input and encoder to pan your languages L+R in the stereo audio stream. Clevercast will convert this into a multilingual live stream with two mono languages, selectable in the player.
Up to six stereo languages or twelve mono languages with OBS Studio
OBS Studio also has a second way to do SRT broadcasting: by using its Custom FFmpeg Record output option (2). When using this option, you can broadcast six stereo tracks along with the video.
You can use this for a live stream with:
- 6 stereo or mono languages: in the Clevercast event, set ‘Languages per track‘ to 1
- 12 mono languages: set ‘Languages per track‘ to 2 in Clevercast, and pan the languages L+R in your input and OBS (for every audio track)
In this case, the set up is a bit more complicated since OBS Studio is being used as an FFmpeg wrapper. Make sure to follow our guide for SRT broadcasting with multiple audio-tracks, to avoid sudden bitrate peaks which can stop your broadcast if your available upload bandwidth isn’t sufficient. Also note that this OBS option currently doesn’t support automatic reconnect, requiring you to do it manually if the connection is interrupted.
Up to eight mono languages with vMix
While vMix doesn’t support broadcasting multiple audio tracks, you can configure it to send a single track with up to 8 audio channels to Clevercast, for a multilingual live stream with up to 8 mono languages. To do this, create an event in Clevercast with ‘SRT Listener’ as broadcast protocol. In the advanced settings, set ‘Languages per track’ to 8 (or the number of channels you are sending) and add the number of languages required. For more info on how to set up vMix, see this tutorial for broadcasting 8 languages using vMix.
Up to eight stereo languages or sixteen mono languages with hardware encoders (e.g. Makito X, Intinor Direct Link)
This number of languages is possible with SRT hardware encoders, like Haivision’s Makito X or Intinor Direct Link. For more encoder brands, see the SRT Alliance’s members page. If you want to test your SRT encoder with Clevercast, feel free to ask.
The set up is the same as in the previous chapter:
- 8 stereo or mono languages: in Clevercast, keep ‘Languages per track’ set to 1
- 16 mono languages: set ‘Languages per track’ to 2 in Clevercast, and pan the languages L+R in your input and encoder (for every audio track).
Below is an example of a Makito X set up for 4 stereo/mono languages or 8 mono languages (depending if you are L+R panning the languages).
As you can see, you can not simply copy the whole broadcast URL from Clevercast to the Makito X configuration. Instead, copy the domain (eg “trialfh.origin01.live-srt.rambla.be”) to the Makito ‘Address’ field and the port to the ‘Destination Port’. Also make sure to either set the same passphrase in the Makito configuration (or remove the passphrase from Clevercast). Other query-string arguments of the ‘Caller URL’ in Clevercast may be ignored or adapted to your needs in the Makito set up.