media server logo

How to organize a multi-language conference using Callaba

The goal of this tutorial is to show you how to set up a live stream with synchronous translation. The process is pretty simple, just follow this guide step-by-step. The whole process will only take 5–10 minutes. 

Let’s go!

You will need the following components:

  1. vMix software. Download here
  2. Callaba Live Streaming, ver 7.0 or higher.

Before we begin

Before we begin, let’s take a look at what we are about to build, so that it would be easier to understand the following steps.

  1. We are going to receive audio with translations from the Studio A. 
  2. Then we are going to mix these audio tracks and create a single SRT output. Next, we will sent out output to Callaba. 
  3. In Callaba, we will create web players featuring different audio tracks and then we will put these players into a web player group. 

Mixing audio tracks with the main video

Setting up inputs

1 . Download, install and open vMix

2. Add your inputs. You can setup any input like NDI or SDI cameras and microphones. The main idea is mixing inputs. 

In this tutorial we are using 3 simple SRT inputs with different audio.

In the bottom left corner, click the “Add Input” button.

3. Select Stream / SRT in the left tab.

4. Now, specify the settings of the stream :

Stream Type : Select SRT (Caller) 

Hostname : Specify address. 

Warning : We are using an IP address in this tutorial as an example. For security reasons, in real-life projects we recommend using domain names (like awesomesrtexample.com) instead.

Port and Latency : enter your parameters

5. Click OK. 
You will see this input has been added to left bottom side.

6. Repeat the same steps to add your second and third SRT streams. 
Awesome! Now you can see all three SRT streams at the bottom of the screen.

Audio mixing setup

1 . First, click “Audio Mixer” button on the right side of the window. 
You’ll see there’s only master (M) stream there. Now we are going to add the rest of our audio streams.

2. Find and click the “Settings” button on the top right corner of vMix.

Go to “Audio outputs” tab. 

Bus A : Set to “Enabled”, select 1+2 audiochannels

Bus B: Set to “Enabled”, select 3+4 audiochannels

Click “OK”

3. Now go back to the Audio Mixer panel.

Let’s say the Master (M) streams original language sound. The bus A and B will send another two languages. 

Find the audio mixer in right bottom side and setup mixing:

  1. Setup stream 1 to Master. Tap on “M” button.
  2. Setup stream 2 to bus A. Tap “A”.
  3. Setup stream 3 to bus B. Tap “B”.

When you’ve finished, your Audio Mixer panel should look somewhat like this.

Setup SRT output

In this part of the tutorial, we are going to create output that we will then send to Callaba to create our web players with. 

1 .Click the “Settings” button at the top panel.

2. Go to Outputs/NDI/SRT tab.

3. Click on Settings button (gear icon) near 1 Output

4. Set Audio channels to MAB 

Check Enable SRT checkbox

Quality : click the “Settings” button (gear icon)

Type : Caller

Hostname and Port : Here we will have to specify the address our output is going to go to. This has to be the address and the port of the SRT server in Callaba.

In case this address is not known to you yet, you can leave it blank for now and come back to it later on when you’ll have your Callaba launched and running and your SRT Server ready. We will remind you about this at a later stage of the tutorial. 

In the window that opens, check the Split Stereo Pairs into Separate Tracks checkbox. 

We recommend doing this to get separate audio tracks in Callaba.

But you can also send streams without splitting the tracks. In this case your audio will be received as 5.1 or 7.1 audio system. Callaba supports both modes so you can create multi-language player from any audio structure, like separate tracks or Dolby digital format.

Click “Save”
Click “OK”
to save your changes and close previous windows.

Awesome. Now that we’ve done all that prep work, we can move on to Callaba. 

Creating SRT server in Callaba

1 . Open Callaba Dashboard. Contact us to purchase a self-hosted license of Callaba Cloud ver 7.0 or higher, or use our turnkey on-premises service.

Please note that versions of Callaba before 7.0 do not include multi-lingual streaming functionality. You still can use older versions in the cloud to set up streaming.

To launch older versions of Callaba in the cloud, you can follow our detailed guides :

Once you’ve launched Callaba, log into the dashboard.

2. Go to “SRT Servers” section. 
Click “Add New”.

3. Create your SRT server. 

To keep this tutorial short, we are not going to cover the settings of the SRT Server. You can find a very detailed description of the SRT Server settings HERE.

Make sure to setup the recommended Latency in Callaba. 
Click “Check Latency” to get info icon in the listing of SRT servers. In this case, our latency 500ms.

4. Once you’re done, in the SRT Servers listing page, click “Info”(i) icon.

Now you can see your SRT Server’s address and port that we have to specify in vMix.

Go back to vMix, click “Settings” 
Go to Output/NDI/SRT tab
Click the gear icon near the first output 

Enter your Hostname and Port

SRT Host in Callaba = Hostname in vMix
SRT Publisher Port in Callaba = Port in vMix

Latency : specify latency. 

Click “Save”

5. Send your video from vMix and check the stream is coming to Callaba.

Important notice:
Make sure that your Windows Firewall allows UDP transport with the specified port. In this case it is port 1935. You will not be able to stream otherwise.

Receiving SRT from vMix in Callaba

1 . First, let’s make sure that the SRT Server in Callaba is actually receiving the stream from vMix. 
Go to SRT Servers listing and click on statistics icon.

2. Check the stream quality and network bandwidth. Be careful if you see Package Drops and not stable Round Trip Time.

3. To test your audio and name your languages, find a new stream in the publishers list and click audio icon

IMPORTANT : Names would be visible to your viewers. Make sure to make these names human-friendly.

You can listen to your audio tracks by clicking the volume icon.

Setup delivery multi-language video to viewers

In our next steps, we are going to create a number of web players, each with their own audiotrack. Then we will combine these players into a web player group. That’ll allow us to have one embedded player where users can switch between the languages easily. 

1 . Go go Web Players section. Click “Add New”.

Now we are going to create our first Web Player with the main language as the audio. 

2. Name the player. In our example the name is “main language player”.

Input type : SRT server

SRT Server : Select your SRT server from the list

Expand Advanced settings.

Video transcoding : set transcoding to H.264. We recommend use H.264.
Output bitrate : specify desired bitrate
GOP : Disabled

Force key frames : every 60 frames (or every 2 sec)

Scroll down.

Modify audio tracks : Select audio track

Track : Select the needed language track. In our case, it’s the main language

Advanced HLS Settings

HLS fragment count : We recommend 6
Edge of live delay : We recommend 5
HLS fragment size : We recommend 3 seconds.

Click “Save”

4. Cool! Now we need to repeat the same steps and create the remaining players.

Create a second web player, select language 1 audio track.

Create a third web player, select language 2 audio track.

Great job. Now all we have to do is combine these players.

Create a new Web Player Group

Now that we’ve created our players, we are going to combine them into a group. Group of players in this case will act as one video player with a language switching functionality.

Upon completion of these settings, the web player will show a language switcher.

1 . Go to Web player groups section 
Click “Add New”

Name : create a group name

Type : choose Language list

Click “Add player” and add you players to the group.

Tick the “Choose by default” checkbox to make the main language the default option.

The group is done. Let’s try it out.

2. Go to Web player group listing page. Click play to see multi-language conference player.

Click Settings (gear icon) to switch between the languages.

Let’s move one to the last step. 

Embed multi language conference to your website

1. Go to Web players group list

Click info (i) icon 

2. Copy Embed video or embed player code and paste to your website page. 

Done.

This is the end of our tutorial.

If you have any questions, please contact us at: [email protected]
We will respond to you within 24 hours.
Happy streaming!

You might also like:
How to launch on Amazon Web Services
How to start streaming in OBS Studio over the SRT Protocol
How to receive SRT stream in OBS Studio
How to stream from OBS studio to Twitch, Youtube and Facebook at the same time