Skip to content
Novus Examples
mkv156.3 KB

Multi-Track Audio — Audio Description (MKV)

A main audio track plus an audio-description track for blind and low-vision viewers, carrying the `visual_impaired` disposition. The description track is an octave and a bit below the main track, so selecting it is audible. Matroska has exactly one flag for this — there is no separate `descriptions` flag as there is in MP4 and in HTML's own track kinds — so a converter that maps `kind="descriptions"` onto Matroska has to pick this one, and a converter going the other way has to infer it. Both tracks are tagged `eng`, which is the realistic case and the awkward one: a picker that lists tracks by language shows two identical entries, and only the flags tell them apart. Broadcast and streaming compliance regimes increasingly require this track to be present and correctly flagged, and the flags are exactly what a naive `ffmpeg -c copy` remux drops.

Rendered preview of Multi-Track Audio — Audio Description (MKV)

Rendered preview of the mkv file (156.3 KB). Download above for the original.

Specifications

Audio Tracks
2
Track0
eng, 440 Hz, main programme, default flag
Track1
eng, 196 Hz, visual_impaired flag
Flag Note
Matroska has no separate 'descriptions' flag — visual_impaired is the one
Codec
AAC LC 64 kbps 48 kHz
Duration
8s

Testing contract

Expected to pass
Scenario
Open the file and identify the audio-description track from its disposition flags.
Expected result
2 AAC LC tracks, both eng: track 0 is the main programme at 440 Hz with the default flag, track 1 is at 196 Hz with the visual_impaired flag. Note the flag name - Matroska has no separate 'descriptions' flag, so visual_impaired is the one to look for, and code searching for a descriptions disposition finds nothing here.

What is a .mkv file?

MKV (Matroska) is an open, codec-agnostic multimedia container that holds unlimited video, audio, subtitle, chapter, and attachment tracks in one file. Its structure is EBML, a binary tree of length-prefixed elements, and its attachments typically carry the fonts an ASS subtitle track needs. Because it constrains nothing about the streams inside, the extension says nothing about whether a player can decode them. Steve Lhomme started the project in 2002; WebM is the restricted profile of it that browsers accept.

How to use this file

Use an example MKV to test EBML parsing and multi-track demuxing, subtitle and chapter extraction, and remux pipelines, checking that per-track language and default flags survive, that font attachments are preserved, and that a remux to MP4 reports the tracks MP4 cannot carry instead of dropping them silently.

How to use this file for testing

“Multi-Track Audio — Audio Description (MKV)” is a deterministic Novus Examples fixture for Media accessibility, Video QA, Video codecs, Conversion testing. Containers carrying several subtitle and audio tracks at once, with real language tags and the default, forced, hearing-impaired and visual-impaired flags actually set, for testing track pickers, accessibility menus, and the flag handling that only shows up when more than one track exists.

Documented properties for this file: 8s. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Code examples

<video controls preload="metadata" width="640" src="mkv-audio-description.mkv"></video>

Generated by generation/video_accessibility.py. Free for any use, no attribution required, license.