Multiple Audio Tracks
Introduction
Brightcove Player supports video with multiple alternate audio tracks. If the video is prepared with multiple alternate audio tracks a special 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:
| 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 APIGet Video Audio Tracksendpoint (GET /v1/accounts/{account_id}/videos/{video_id}/audio_tracks); a descriptive track reports"variant": "descriptive". This endpoint requires an OAuth access token with thevideo-cloud/video/readscope, 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 reportsmain-descin Brightcove Player anddescriptionin Safari native HLS. Both values are specific to audio description. - On Brightcove Player DASH,
AudioTrack.kindreportsalternativefor 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 APIvarianton this playback path. - Do not identify descriptive tracks by the track
id. In Safari native HLS theidis 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.)
| 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 |
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).