Hop to new territories with Bunny Stream’s new multi-audio support

Posted by:

We’re excited to announce multi-audio support for Bunny Stream! With this feature, you can offer your users localized content in multiple audio languages, enhancing user engagement and providing you with an easy way to gain more viewers.

What’s new? It’s the same easy-to-use, powerful, end-to-end media streaming workflow, but now capable of processing multiple audio streams. Now, you can target new regions with localized content, and your users can choose their preferred language right from the video player, creating a rich user experience.

And we do this the bunny way, seamlessly pre-integrated, so no coding or technical expertise in video streaming is required to get started. The carrot on top—the new multi-audio support is included completely free of charge! That’s right, we are not charging anything extra beyond normal storage and CDN costs.

We believe that all developers should have easy access to enterprise-grade tools that simplify their workflow, so they can focus on creating applications rather than getting bogged down by complex video technicalities.

Bunny Stream workflow configuration and player view with multi-audio support

The image above is a screenshot from the Bunny Stream configuration section, which includes a view of the video player and the multiple audio selection menu. In this example, in two languages; German, and English. This gives you a quick idea of how it would look after you embed the player in your web application or service.

The need for multi-audio support

To reach a global audience and improve user engagement, it's key not only to optimize for media delivery around the world but also to localize your content. Adding multiple audio tracks is a great way to adapt your media to audiences around the world. By doing this, you provide your users with the experience of consuming audio in their own language, resulting in better engagement and a richer viewing experience.

Previously, with Bunny Stream, you could easily add some localization by creating captions and translating them into more than 50 languages using our AI-based transcription feature. 

Now, with Bunny Stream multi-audio support,  you can add multiple audio languages to your media stream output by simply uploading your source media files containing multiple audio tracks without storage duplication. 

How it works

For those new to Bunny Stream, it gives you a comprehensive, high-end video processing workflow by default, from storage to transcoding, encryption, network distribution, and playback, with features such as:

  • Configurable adaptive bitrates and resolution ladders
  • AI transcription
  • AI metadata generation for your descriptions and titles
  • DRM with FairPlay and Widevine
  • Automatic content categorization
  • Watermarking

When you upload a video with multiple audio tracks to Bunny Stream, such as in MOV or MP4 containers, the platform automatically processes the video and audio tracks included in your source media file. Then, these tracks are included in the media streaming manifest file, where the audio streams are represented in several renditions, including its language metadata. 

Bunny Stream’s pre-integrated player already has the logic to recognize these renditions and displays them in its embedded language menu. This allows viewers to easily select their preferred audio option, providing a user-friendly and professional viewing experience.You can simply use our embedded player in your web applications, or alternatively, you can bring your own player and still use our output media streams.

With Bunny Stream, there's no need to code or integrate a video player, transcoding, or DRM services separately. We have done the heavy lifting for you, saving you time and effort.

For advanced use cases, the new multi-audio support is also available programmatically. As always, Bunny Stream allows you to use your own video player while we handle the rest.

Whether you're building a multi-lingual education platform, a global e-commerce site with regional product demonstrations, or an international media streaming service, the new multi-audio feature helps you deliver an exceptional user experience.

Below is an example of how the HLS manifest output will look, including the two audio renditions—English and German—and a couple of video variants.

#EXT-X-INDEPENDENT-SEGMENTS # Audio tracks 
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio_1/audio.m3u8",GROUP-ID="audio",LANGUAGE="de",NAME="German",AUTOSELECT=YES,CHANNELS="1" 
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio_2/audio.m3u8",GROUP-ID="audio",LANGUAGE="en",NAME="English",AUTOSELECT=YES,CHANNELS="2" 

# Video streams with bandwidth and other details 

#EXT-X-STREAM-INF:BANDWIDTH=1228512,AVERAGE-BANDWIDTH=826922,CODECS="avc1.640015,mp4a.40.2",RESOLUTION=426x240,FRAME-RATE=29.970,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE 240p/video.m3u8 
#EXT-X-STREAM-INF:BANDWIDTH=2508640,AVERAGE-BANDWIDTH=2038476,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=853x480,FRAME-RATE=29.970,VIDEO-RANGE=SDR,AUDIO="audio",CLOSED-CAPTIONS=NONE 480p/video.m3u8

Getting started is easy

1. Enable multi-audio track support in the Bunny Stream library encoding settings tab. 

2. Upload your video with multiple audio tracks to Bunny Stream via our user interface or API.

3. Let Bunny Stream automatically process your media and enjoy seamless playback with multiple audio streams.

Bunny Stream encoding configuration section with enabled multi-audio track support.

Note that if your audio streams do not contain metadata, you can still upload them. However, the player will display the audio options without their language description (e.g., Spanish, English). 

You can easily check if your audio contains metadata by running the following `ffprobe` command in your terminal to get information about each stream in your media file:

`ffprobe -v error -show_entries stream=index,codec_type,codec_name,codec_long_name,profile,level,channels:stream_tags=language,title -of json input_video.mp4`

This is an example of a JSON output showing two audios, including its descriptive metadata, in this case, English (‘eng’), and German (‘deu’), denoted in the "tags" section:

{
    "programs": [
    ],
    "stream_groups": [
    ],
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "Main",
            "codec_type": "video",
            "level": 31,
            "tags": {
                "language": "und"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "channels": 2,
            "tags": {
                "language": "eng"
            }
        },
        {
            "index": 2,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "channels": 1,
            "tags": {
                "language": "deu"
            }
        }
    ]
}

And, here’s an example of how you can easily add audio metadata to your video files using `ffmpeg`:

You might be thinking, how long will this take? Adding metadatda is lightweight and does not re-encode your content. Of course, this is a simple example that does not cover all scenarios, and you might need to use a different approach.

Explore new horizons with Bunny Stream's multi-audio

Avoid wasting valuable time and resources on setting up expensive and complicated services to manage your end-to-end video processing. Tap into new viewer segments globally and delight them with the ability to select their preferred audio language with Bunny Stream’s new multi-audio support.

We’re committed to providing tools that not only meet but exceed your expectations, helping you build faster, safer, and more reliable media streaming experiences. 

Stay tuned – there are more exciting hops coming!