How to broadcast multiple audio streams with OBS surround sound

OBS Studio, the free and cross-platform streaming software, is capable of broadcasting a video with multiple audio channels over RTMP to Clevercast. This is done by using its support for surround sound audio streams.

This way, OBS Studio allows you to broadcast a multi-channel RTMP stream with an audio channel (= not track!) for each language.  Clevercast allows you to use this feature for multi-language streaming. You can use either 4.0 (for up to 4 languages) or 7.1 (for up to 7 languages) channels.

Note that Clevercast also allows you to broadcast multiple audio tracks using the SRT broadcast protocol. This also possible with OBS Studio (and lots of other encoders). For more info, see our guide on how to use Clevercast to broadcast multiple audio tracks with SRT.

Furthermore, Clevercast also has its own Translate at Home (T@H) protocol to allow realtime translation in 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, select:

  • Enter the name of your live stream
  • Select RTMP 4.0 Surround.. (for max. 4 languages) or RTMP 7.1 Surround.. (for max. 7 languages) 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 through OBS. 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 and on your broadcast protocol.

RTMP 4.0 multi-channel broadcast protocol with 4 languages selected (Advanced Panel)

 

2. Audio Input and OBS Studio settings

The surround sound selection (4.0 or 7.1) you have made in Clevercast must be the same in the settings of both your audio input (eg SDI card) and OBS Studio (if you have a 4.0 audio source do not select 7.1). OBS Studio must be restarted afterwards. Make sure that OBS Studio only broadcasts a single track (if you want to broadcast multiple tracks, you should use SRT instead).

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 Studio in the same order. If you are using 7.1 channels, do not use the 4th channel. This will be encoded as LFE and so is not useable). Just leave it empty, Clevercast will ignore it.

Also copy the Broadcast URL and Stream Name and use them to set the Stream Server and Key in OBS Studio. Make sure to configure OBS video, audio and output in accordance with our broadcasting guidelines. We recommend using a video framerate of 25 frames per second (FPS) and keyframes every 2 seconds (= 50 frames).

 

3. Test your broadcast

Start broadcasting. After you have started your encoder, press the Change Event Status button and select ‘Preview Broadcast’. This will start server-side processing of your stream. 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.