Skip to content
Novus Examples
webm40.8 KB

Multi-Track Subtitles — Embedded WebVTT (WebM)

WebVTT muxed inside a WebM container, which the Matroska specification allows and almost nothing consumes. No browser surfaces an embedded WebVTT track through the HTML TextTrack API — the web platform expects a separate <track> element pointing at a sidecar file — so this is the fixture for the gap between what a container is permitted to hold and what a player will actually give you. One caveat about this file specifically. Every other fixture in this phase carries byte-identical H.264 video, but the WebM muxer accepts only VP8, VP9 or AV1 video and WebVTT subtitles — that restriction is the container's definition, not a limitation of the tooling — so the picture here is re-encoded to VP9 from the same source frames. Same content, different bytes.

Specifications

Subtitle Tracks
1
Subtitle Codec
WebVTT (D_WEBVTT/SUBTITLES)
Video Codec
VP9 — re-encoded, not remuxed like the rest of this group
Browser Support
no browser exposes embedded WebVTT tracks natively
Cues
8
Duration
8s

What is a .webm file?

WebM is an open, royalty-free multimedia container based on Matroska, designed for the web and typically carrying VP8 or VP9 video with Vorbis or Opus audio. It is natively supported by modern browsers via HTML5 video. It targets efficient, license-free web streaming.

How to use this file

Use an example WebM to test HTML5 <video> playback, Matroska-based demuxing, VP8/VP9 decoding, and converters between WebM and MP4.

How to use this file for testing

“Multi-Track Subtitles — Embedded WebVTT (WebM)” is a deterministic Novus Examples fixture for Media accessibility, Subtitle testing, Subtitle parsing, 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: 8 cues · 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="webm-webvtt.webm"></video>

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