Skip to content
Novus Examples
mkv7.2 KB

Intentionally Corrupt — Matroska Truncated Mid-Cluster

An intentionally corrupt Matroska file cut to 60% of its length, part way through a cluster. Not a valid file by design. Matroska degrades very differently from MP4, which is the reason to have both. Its header is at the front and its clusters are independently framed, so a truncated MKV usually plays right up to the cut and then simply ends — no index to contradict, because the Cues element that would have carried it was at the end and is gone. Duration is reported as unknown or estimated, and seeking past the cut behaves differently in every player.

mkv

video/x-matroska

7.2 KB
Integrity
intentionally corrupt
Damage
truncated to 60% of its bytes
Header Intact
true
Cues Present
false
Original Bytes
12347
Expected Behaviour
plays until the cut, then stops; duration unknown or wrong

Binary mkv: no in-browser preview. Download it above to open in a compatible application.

Specifications

Integrity
intentionally corrupt
Damage
truncated to 60% of its bytes
Header Intact
true
Cues Present
false
Original Bytes
12347
Expected Behaviour
plays until the cut, then stops; duration unknown or wrong

Testing contract

Expected to fail
Scenario
Play the file to its end and read back the duration the demuxer reports.
Expected result
Playback runs to the cut and then simply stops - the file is 7,408 of the original 12,347 bytes, cut mid-cluster. The EBML header at the front is intact and the Cues element that lived at the end is gone, so duration is reported as unknown or estimated rather than contradicted by an index. Compare with the truncated MP4 in this group, which reports a confident and wrong duration.

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

“Intentionally Corrupt — Matroska Truncated Mid-Cluster” is a deterministic Novus Examples fixture for Error handling, Video QA, Video codecs. Deliberately corrupt and invalid files, clearly labelled, for testing how your tool fails.

Documented properties for this file: damage: truncated to 60% of its bytes. 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-truncated.mkv"></video>

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