SRT single and multi-language broadcasts (vMix, Makito, OBS)

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, including vMix. To broadcast more than 2 languages, your encoder needs support for multiple audio-tracks: vMix currently doesn’t support this, while OBS Studio does. 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.

Single Language Live Stream configuration for a Clevercast event

Single Language SRT Stream with OBS Studio (mono or stereo audio)

vMix SRT settings (mono or stereo)

Clevercast Single Language Live Stream: using a mono or stereo SRT broadcast (event in preview)

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, then fill in its ‘Hostname‘ and ‘Port‘ from the ‘Broadcast‘ panel in Clevercast. Also make sure to either set the correct ‘passphrase’ in the vMix configuration (or remove the passphrase from Clevercast) and use the same ‘pbkeylen’ value as in Clevercast (default 16). Other query-string arguments of the ‘Caller URL’ in Clevercast may be ignored or adapted to your needs in your vMix configuration.

 

Dual language broadcasts

To live stream two audio languages and send them along with the video stream, you can also use any SRT encoder (including vMix and OBS Studio).

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.

Dual Language Live Stream configuration for a Clevercast event

Dual Language SRT Stream with OBS Studio (requires stereo)

vMix SRT settings (requires stereo)

Clevercast Dual Language Live Stream: using an SRT stereo broadcast with L+R panning (event is started)

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 (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)

Live streaming 12 languages with OBS Studio

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 stereo languages or sixteen mono languages (Makito X, other hardware encoders)

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).

Haivision Makito X – setting up 4 audio tracks (mono or stereo)

Haivision Makito X – setting up streaming parameters

Haivision Makito X – make sure to set the same passphrase as in Clevercast

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.

 

Up to sixteen stereo languages or thirty two mono languages (high-end hardware encoders)

Some high-end hardware encoders, like Haivision’s Makito X4 support 16 stereo tracks. This allows you to send a live stream with up to 16 stereo or mono languages, or 32 mono languages.