Multiple Audio Tracks

This topic explains how multiple audio tracks are handled in the Brightcove Player.

Introduction

Brightcove Player supports video with multiple alternate audio tracks. If the video is prepared with multiple alternate audio tracks a special headphone icon (headphone icon) automatically appears in the controlbar. Again, if you have a properly encoded video, the icon will appear, there is nothing else you need to do. Once the icon is clicked, the viewer of the video can select between audio tracks.

Example

Once you click play, you will see the headphone icon in the controlbar from which you can select between two alternative audio tracks.

Use cases

Here are some common use cases for multiple alternative audio tracks:

  • Multiple language support
  • Stereo versus multi-channel (surround sound) audio
  • Commentary track
  • Descriptive audio

Understanding multiple audio tracks

Multiple audio tracks can be added to videos using the Media module or by using the APIs. Here are some helpful links on multiple alternate audio tracks:

Descriptive (audio description) tracks

An audio track created with the descriptive variant is a descriptive audio (audio description) track. Audio description narrates on-screen action for viewers who are blind or have low vision. Tracks generated by the Standard Audio Description feature in Video Cloud Studio use this variant, and you can also set it when you add audio tracks with the Dynamic Ingest API. Descriptive audio tracks are marked in the delivered manifests so that players and assistive technologies can identify them as describing the video.

HLS

In an HLS master playlist, every EXT-X-MEDIA audio entry whose track variant is descriptive carries the attribute CHARACTERISTICS="public.accessibility.describes-video". Audio entries with the main variant do not carry this attribute. Tagging the track this way makes the master playlist conformant with the HLS specification for accessibility characteristics.

DASH

In a DASH manifest (MPD), a descriptive audio adaptation set carries <Role schemeIdUri="urn:mpeg:dash:role:2011" value="description">. Since March 2026 it also carries a <Label> element, such as th-TH (Descriptive). The MPD does not include an <Accessibility> element for these tracks.

Reported audio track kind by playback path

The value that the player's audio track API reports for AudioTrack.kind depends on the playback path. For a descriptive audio track, the current values are:

AudioTrack.kind for a descriptive audio track
Playback path AudioTrack.kind
Brightcove Player, HLS (Chrome, Edge, Firefox) main-desc
Safari, native HLS description
Brightcove Player, DASH alternative

Detecting descriptive audio tracks

To detect descriptive audio tracks reliably:

  • The most reliable signal is the audio track variant. Query the CMS API Get Video Audio Tracks endpoint (GET /v1/accounts/{account_id}/videos/{video_id}/audio_tracks); a descriptive track reports "variant": "descriptive". This endpoint requires an OAuth access token with the video-cloud/video/read scope, so call it from a server or proxy, not from the browser. The Playback API does not return audio track variants.
  • On HLS, you can also use AudioTrack.kind: a descriptive track reports main-desc in Brightcove Player and description in Safari native HLS. Both values are specific to audio description.
  • On Brightcove Player DASH, AudioTrack.kind reports alternative for a descriptive track, but it reports the same value for every other non-default track, so it cannot tell audio description apart from other alternates. Use the CMS API variant on this playback path.
  • Do not identify descriptive tracks by the track id. In Safari native HLS the id is a plain digit string, such as "0", and carries no meaning across playback paths.

Styling icon and menu

If the default colors do not meet your needs, you can change the color of the headphone icon, the selected option and others options. The following table and screenshot detail the selectors you will need to use. (Note that the colors shown in the screenshot are NOT the defaults, but colors to easily identify.)

Selectors for audio icon
Element Selector
Headphone icon (red in screenshot) .video-js .vjs-control-bar .vjs-audio-button
Selected option (yellow in screenshot) .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item.vjs-selected
Available option(s) (green in screenshot) .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item
selectors
Icon and menu selectors

The following is the actual CSS that affected the changes in the screenshot:

.video-js .vjs-control-bar .vjs-audio-button {
  color: red;
}
.video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item.vjs-selected {
  background-color: yellow;
}
.video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item {
  background-color: green;
}

Known issues

  • If you add an HLS (m3u8) remote rendition via a <source> tag in the player, viewers will not be able to select multiple audio tracks in Chrome on the Android OS.

Limitations

  • Affiliates do not have the ability to delete or edit the audio track properties for shared videos (the audio tracks are shared, but are not visible in Studio for the affiliate account).