SRT broadcast with multiple audio tracks

The SRT broadcast protocol

The Secure Reliable Transport (SRT) protocol is a new open source broadcast 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. Because of its reliability over long distances, we recommend it for broadcasts from outside of Europe.

Unlike RTMP, the SRT protocol has built-in mechanisms for authentication and encryption. SRT can also be used for single-language broadcasts, but the ability to add multiple (stereo) audio tracks to a single video broadcast makes it very suitable for multilingual live streaming.

Clevercast allows live streaming of tracks as separate languages. With a stereo track you can choose in Clevercast to stream the L+R channels as two separate languages, or to stream each language in stereo. The available number of languages depends on the SRT encoder you use (audio tracks supported by the encoder).

Event settings for SRT broadcasts

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 (= in most cases, also if you’re using OBS Studio) or SRT Caller (= only if your encoder acts as the listener) as the ‘Broadcast Protocol’.
  • 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.

Advanced settings for an SRT event

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.

The ‘Broadcast panel’ on the left of your Event page will contain the order of the languages. Make sure your input sends the languages to your encoder in the same order. Your encoder 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).

You can also set or copy the SRT Passphrase  (authentication) and SRT Key Length  (encryption) to be used in your encoder settings.

Streaming 1 or 2 languages with any encoder

Streaming one or two languages is possible with any SRT encoder. If your encoder only supports a single stereo track, you can still stream 2 languages by:

  • Setting Languages per Track to 2 in Clevercast
  • Configuring your encoder so both languages are panned L+R

For example, vMix and Wirecast (currently) only support a single stereo track.

For vMix, enable SRT, select the ‘Caller’ type and a ‘Stereo’ channel for 2 languages. Fill in the Hostname and Port using the info from the ‘Broadcast‘ panel in Clevercast, and use the same ‘Passphrase’ and ‘Key Length’ in the vMix configuration (see the ‘Advanced’ panel in Clevercast). Other query-string arguments of the ‘Caller URL’ in Clevercast may be ignored or adapted to your needs in your vMix configuration.

OBS Studio has 2 options for SRT broadcasting. If you only need one or two languages, we recommend to use the regular Streaming Output option (1). This allows you to do a local recording while broadcasting. Your broadcast will also continue when interrupted (which isn’t the case for option 2). Make sure to select a single audio track (in the Output tab) and a mono or stereo channel (in the Audio tab). Then copy the ‘SRT Caller URL‘ from Clevercast to the ‘Server‘ field in OBS Studio (in the ‘Stream’ tab).

Setting the SRT caller in OBS (for 1 or 2 languages)

You can leave the ‘Stream Key’ empty in OBS. Some query-string arguments in the ‘SRT Caller URL’ are only necessary for option 2 (see below), but they will be ignored by OBS.

Streaming up to 12 languages with OBS studio

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). In that case, you need to use option 2 in this OBS Studio guide to configure and broadcast the audio tracks. 

For more info, see our online guide.

Streaming up to 16 languages with 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).

From the ‘Broadcast’ panel in Clevercast, copy the domain (eg “mine.origin01.live-srt.rambla.be”) and port to the Makito configuration (‘Address’ and ‘Destination Port’). From the ‘Advanced’ panel in Clevercast, copy the passphrase to the Makito configuration. Note: other query-string arguments of the ‘Caller URL’ in Clevercast may be ignored.

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

Streaming up to 32 languages

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.

Want to try it yourself?

Try Now