Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

Live Streaming with Multi-Lingual Audio


We have a series of live events which feature multiple audio languages. We are using an Elemental encoder to embed the multiple audio streams demuxed with a single stack of video renditions in an m3u8, delivered over Akamai.

Though we are able to see and select from all of our audio streams in the native iOS player (confirming that they are there and that the stream metadata is correct), we are having trouble finding player support that would allow control rack access to the multiple audio streams, similar to the way a user would select from multiple languages available in the stream for closed captions.

We are utilizing our JW Player Premium account.

Can anyone offer guidance, implementation examples, or integration service to get this feature up and running? I've read elsewhere of someone who developed a plug-in that would do this using a combination of audio description and playlist, but I am not able to find that plug-in for implementation and testing.

Help is very appreciated. I know that this would be a welcome supported feature in JW Player.

Thanks,
Matt

5 Community Answers

Andrew

JW Player Support Agent  
0 rated :

Hi Matt,

We don’t currently have a method of utilizing multiple audio tracks with the player via HLS. This is something that we’re looking to implement at a later time, however!

matt

User  
0 rated :

Andrew,

Is there a way to using a url parameter on the m3u8 to specify the audio track that the player should present? If so, I can just create a playlist for the various languages as a stopgap measure, or create separate host pages for each video/audio combination.

Right now, the test stream does not present any audio in JW Player, even though there are seven streams present as we've tested native in iOS, so I'm trying to filter the audio track via the m3u8 URL. I can't seem to find any reliable documentation on how to do that. Here is the m3u8 content:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=5500000,CODECS="avc1.640028",RESOLUTION=1920x1080,AUDIO="program_audio"
master_video_1920x1080.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3300000,CODECS="avc1.64001f",RESOLUTION=1280x720,AUDIO="program_audio"
master_video_1280x720.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1100000,CODECS="avc1.77.30",RESOLUTION=640x360,AUDIO="program_audio"
master_video_640x360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=550000,CODECS="avc1.4d0015",RESOLUTION=480x270,AUDIO="program_audio"
master_video_480x270.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="eng",NAME="english",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_english.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="spa",NAME="spanish",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_spanish.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="fra",NAME="french",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_french.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="deu",NAME="german",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_german.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="zho",NAME="chinese",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_chinese.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="rus",NAME="russian",AUTOSELECT=YES,DEFAULT=NO,URI="master_audio_russian.m3u8"

Initially, I think part of the problem may be that the encoder is autoselecting all of the tracks. But I would think filtering via URL parameter would still resolve that [potential] issue.

Are you able to offer any guidance on the above approach (URL parameter to render single audio with the video in the player)?

Thanks!
Matt

Andrew

JW Player Support Agent  
0 rated :

Hi Matt,

As I’ve said, there isn’t currently a way within the player to change audio tracks. We only utilize video+sound streams now.

matt

User  
0 rated :

I understood that Andrew. The second question was intended to be a little bit different. I apologize if I didn't make the distinction clear. So, forget about trying to switch the video in the player, do you know of a way to use a URL parameter to filter the actual m3u8 URL that is used in the player embed to only present the single audio (L+R) track that is specified by the defined URL parameter? While this does not give us the solution we want, it would prevent a gross over-complication on the encoding side.

Matt

Andrew

JW Player Support Agent  
0 rated :

Hi Matt,

This would hypothetically have to load a completely separate video stream with a different audio track. Essentially, you would need two video streams running. One with audio 1 and one with audio 2. You could then choose which version to run, though it would not be configurable through the player. When we eventually allow split audio via HLS, this should be much more straightforward.

If this isn’t what you are referencing, please feel free to email us with your question/an example. We can definitely discuss in private. :)

This question has received the maximum number of answers.