Skip to content
Novus Examples
mp411.1 KB

Intentionally Corrupt — MP4 With the moov Atom Removed

An intentionally corrupt MP4 with the entire `moov` box cut out and the surrounding bytes rejoined. The `ftyp` header and all of the compressed media in `mdat` are untouched. Not a valid file by design. This is the classic 'moov atom not found' failure, and in practice the most common way an MP4 dies: the index is written last, so any recording that stops without a clean finalise — a crashed encoder, a phone that ran out of battery mid-capture — ends up exactly like this. The media is all still there, which is why recovery tools can sometimes rebuild it, and this is the file to test one against. Contrast with the truncated file in this group, which has an index and no data.

mp4

video/mp4

11.1 KB
Integrity
intentionally corrupt
Damage
entire moov box excised
Mdat Intact
true
Ftyp Intact
true
Removed Bytes
1675
Expected Behaviour
refuses to open — 'moov atom not found'

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

Specifications

Integrity
intentionally corrupt
Damage
entire moov box excised
Mdat Intact
true
Ftyp Intact
true
Removed Bytes
1675
Expected Behaviour
refuses to open — 'moov atom not found'

Testing contract

Expected to fail
Scenario
Open the file with any MP4 demuxer, then hand it to an index-rebuilding recovery tool.
Expected result
Opening fails with the classic 'moov atom not found': the entire 1,675-byte moov box has been excised and the surrounding bytes rejoined. ftyp and the whole mdat payload are intact, so a recovery tool that rebuilds the sample table from the media must succeed on this file - which is the property that distinguishes it from the truncated member of this group, where the index survives and the data does not.

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

“Intentionally Corrupt — MP4 With the moov Atom Removed” 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: entire moov box excised. 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="mp4-moov-removed.mp4"></video>

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