Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Track roles

A track’s role is its author-declared purpose. It applies to audio and text tracks only, is never probed from the media, and is stored in the descriptor’s role field. This page is the exact reference for the role vocabulary and how each role is rendered into DASH and HLS.

To set a role, see Label tracks with roles. Roles are validated at index time: a role on a video track, a role that doesn’t match the track’s media type, or an unknown value aborts the run. A role never affects a track’s representation id.

Audio roles

ValueMeaning
mainThe primary audio.
alternateAn alternate version of the main audio.
commentaryCommentary (e.g. director’s commentary).
dubA dubbed rendition in another language.
descriptionAudio description for viewers who are blind or have low vision.
enhanced-audio-intelligibilityDialogue enhanced for intelligibility.

Text roles

ValueMeaning
subtitleTranslation subtitles (dialogue only). The default when no role is set.
captionSDH / closed captions (dialogue plus non-dialogue sound description).
forced-subtitleForced narrative subtitles (foreign dialogue or on-screen text), shown even when subtitles are otherwise off.

DASH mapping

Roles are emitted as descriptors on the track’s AdaptationSet; tracks are grouped into adaptation sets by (sample entry, timescale, language, role).

Role

Scheme urn:mpeg:dash:role:2011; value is the role string verbatim.

TrackRole emitted
Audio with a roleRole@value = the role.
Audio with no rolenone.
TextRole@value = the role, defaulting to subtitle when unset.

Accessibility

Scheme urn:tva:metadata:cs:AudioPurposeCS:2007, emitted only for two audio roles:

Audio roleAccessibility@value
description1
enhanced-audio-intelligibility8

No other role emits an Accessibility descriptor.

HLS mapping

Roles set the selection attributes on the EXT-X-MEDIA rendition entries in the multivariant playlist.

Audio renditions

Audio tracks are grouped by sample-entry code. Within a group:

AttributeRule
DEFAULTYES on the first main-role rendition; if no member is main, on the first rendition. NO otherwise.
AUTOSELECTNO for the opt-in roles (commentary, description, enhanced-audio-intelligibility) unless the rendition is the group default; YES otherwise.
CHARACTERISTICSpublic.accessibility.describes-video for description; public.accessibility.enhances-speech-intelligibility for enhanced-audio-intelligibility; absent otherwise.
NAMEThe rendition’s language, qualified by its role when one is set — nld, eng (commentary). A counter disambiguates collisions (eng (2)).

DEFAULT=YES implies AUTOSELECT=YES, so the group default is always auto-selected even when its role is opt-in.

Subtitle renditions

HLS subtitle renditions are not emitted yet — text tracks currently appear in DASH manifests only (CMAF wvtt sources). The mapping below is the design that on-the-fly text serving is being built toward.

All text tracks share one TYPE=SUBTITLES group.

AttributeRule
DEFAULTAlways NO — the viewer enables subtitles explicitly.
AUTOSELECTYES only for forced-subtitle; NO for subtitle and caption.
FORCEDYES only for forced-subtitle.
CHARACTERISTICSpublic.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound for caption; absent otherwise.

See also