Skip to content
Novus Examples
mp4170.8 KB

Multi-Track — Complete Package, MP4 Limits (MP4)

The same package rebuilt inside MP4, which is the interesting part — MP4 cannot carry all of it. The SDH subtitle track is gone because MP4 has no hearing-impaired flag, the attachment becomes cover art as a second video stream, per-track titles have no home, and the subtitles are mov_text with the styling stripped. Diff this against the MKV in the same group and you have a concrete, byte-level answer to 'what do I lose converting to MP4?' — which is normally something people find out after shipping.

Browser-playable test video · 8 seconds

Specifications

Video Tracks
1 + 1 attached_pic
Audio Tracks
2
Subtitle Tracks
2
Subtitle Codec
mov_text
Chapters
4
Cover Art
240x240 JPEG
Not Carried
SDH flag, attachments, per-track titles
Faststart
true
Duration
8s

Testing contract

Expected to pass
Scenario
Open the file and compare its contents against the full Matroska package in this group.
Expected result
1 video track plus 1 attached_pic (a 240x240 JPEG cover), 2 audio tracks, 2 mov_text subtitle tracks, 4 chapters, faststart, 8s. The assertion is what is missing relative to the Matroska twin: the SDH flag, the attachment and the per-track titles are not carried by MP4 at all, so a round trip through this container loses them and must say so rather than reporting success.

What is a .mp4 file?

MP4 (MPEG-4 Part 14) is the dominant container for digital video, holding video, audio, subtitle, and metadata tracks in a tree of typed boxes. `ftyp` declares the brand, `moov` carries the sample tables that make seeking possible, and `mdat` holds the media; when an encoder writes `moov` last, playback cannot begin until the file has fully downloaded, which a faststart remux fixes. It derives from Apple's QuickTime format, generalized by ISO into the ISOBMFF base that MOV, 3GP, and HEIF share.

How to use this file

Use an example MP4 to test box parsing and track detection, seeking, range-request streaming, and transcode or thumbnail pipelines: verifying that a file with a trailing `moov` box is still handled, and that codec support is checked per track rather than inferred from the extension.

How to use this file for testing

“Multi-Track — Complete Package, MP4 Limits (MP4)” is a deterministic Novus Examples fixture for Media accessibility, Media metadata, Subtitle testing, Video QA. 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="full-package.mp4"></video>

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