Live streaming with simultaneous translation into several languages using OBS and Wowza Streaming Engine.

2021-04-18 14:37:00

In the modern world, it is difficult to be successfull if the business is focused on only one local market. Most manufacturers try to convey information to their existing and potential customers in different countries and continents. This, in turn, requires video broadcasts of presentations, reporting events and management requests with simultaneous translation, at least into English, and preferably into several languages, since despite the globalization of the economy, the language barrier has not been canceled.

In this article, we will look on the methodology video broadcasting with simultaneous translation using the OBS Studio software encoder and the Wowza Streaming Engine media server. As the initial data, we accept a personal computer with installed OBS and capture cards that capture both the main video stream with the original audio track, and additional audio streams with simultaneous translation into two additional languages. On the side of the broadcast server, Wowza Streaming Engine version 4.7.7 or higher is installed.

When we open the OBS Studio interface for streaming, we have three sources available:

  • MainStream - video stream with the orignal audio track;
  • Language1 - audio stream with simultaneous translation into the 1st language;
  • Language2 - audio stream with simultaneous translation into the 2d language;
  • The first thing we need to do is move the mouse to the audio mixer area, right-click and select the "Advanced Audio Щзешщты menu."

    On the screen that opens, select the "Audio Tracks" area and check the track number for each of the sound sources. For each of the sources, there should be only one checkbox selected, otherwise the audio tracks will be mixed.

    As a result of the above actions, we received a video stream with three audio stereo tracks, each of which is used for one target language. Now our task is to broadcast the received stream to the Wowza server using the SRT protocol. And for this you do not need to use the "Record" function, which is not at all obvious. To configure the recording, you must first open the "Output" item in the "Settings" menu.

    In it, select the "Recording" tab. In it, specify the output type "ffmpeg", your URL and UDP port of the Wowza server in the format srt: // 10000, the format of the container is mpegts. Select the checkbox "All codecs. Even potentially incompatible" and specify the h.264 codecs for video, aac for audio. Click the audio tracks for broadcasting: 1, 2, 3 in our example with three languages. Next, save the setting and close the "Output" screen.

    To start the broadcast, click "Start recording".

    On the Wowza server side, you need to receive an SRT stream by running a .stream file of the SRT type. This is described in more detail in our article: view / push-publish-srt-to-wowza . But Wowza accepts SRT stream with the single audio track only. And unlike MediaCaster with RTP type, it is not possible to start receiving the same SRT stream several times (specifying the PID number of the audio track in the options of the .stream file).

    The module developed by our company will allow you to overcome this limitation PWI Multilingual streaming Addon for Wowza Streaming Engine . When using this module, the input SRT stream with several language tracks will be converted into an HLS stream with the ability to select the translation language in any HLS player.