Skip to content
Novus Examples

Explore the test library

Search files, editable visual templates, and live browser targets from one registry-backed directory. Filtered query views stay crawlable for links but are deliberately noindex; the stable taxonomy pages below remain the canonical search surfaces.

402 results

Page 8 of 17; 24 results per page.

Show the canonical directory
Preview of HLS VOD — Media Segment (seg-2-000.m4s)
m4s
30.8 KB
Actual file preview for HLS VOD — Media Segment (seg-2-000.m4s)

HLS VOD — Media Segment (seg-2-000.m4s)

A one-second fragmented-MP4 media segment (moof + mdat) from the playable ladder. It starts on a keyframe, so it decodes independently once the matching init segment has been loaded — which is what makes mid-stream quality switching possible at all.

File
M4S · Vod Hls
Use case
Streaming manifestsVideo codecs+1· Conversion set
Preview of HLS VOD — Media Segment (seg-2-001.m4s)
m4s
58.1 KB
Actual file preview for HLS VOD — Media Segment (seg-2-001.m4s)

HLS VOD — Media Segment (seg-2-001.m4s)

A one-second fragmented-MP4 media segment (moof + mdat) from the playable ladder. It starts on a keyframe, so it decodes independently once the matching init segment has been loaded — which is what makes mid-stream quality switching possible at all.

File
M4S · Vod Hls
Use case
Streaming manifestsVideo codecs+1· Conversion set
Preview of Intentionally Corrupt — Matroska Bytes With an .mp4 Extension
mp4
12.1 KB
Actual file preview for Intentionally Corrupt — Matroska Bytes With an .mp4 Extension

Intentionally Corrupt — Matroska Bytes With an .mp4 Extension

An intentionally corrupt fixture of a different kind: the bytes are a perfectly valid Matroska file, and the extension says `.mp4`. Nothing is damaged — the file simply lies about what it is. Not a valid MP4 by design. This is what a user's 'converted' file usually turns out to be after a rename, and it separates two kinds of code cleanly. Anything that sniffs the first four bytes finds `1A 45 DF A3`, identifies EBML and plays it. Anything that dispatches on the extension hands it to an MP4 demuxer that immediately fails to find `ftyp`. Note the catalog records this entry's MIME as video/mp4, matching the extension rather than the content — deliberately, because that is precisely the mismatch being reproduced.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — Matroska Truncated Mid-Cluster
mkv
7.2 KB
Actual file preview for Intentionally Corrupt — Matroska Truncated Mid-Cluster

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.

File
MKV · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — MP4 Header Fragment Only
mp4
869 B
Actual file preview for Intentionally Corrupt — MP4 Header Fragment Only

Intentionally Corrupt — MP4 Header Fragment Only

An intentionally corrupt MP4 cut off half way through its `moov` box: the `ftyp` header survives, the index does not, and there is no media data at all. Not a valid file by design. Just enough for content sniffing to succeed and everything after that to fail. A `file`-style magic check reports ISO Media, a MIME sniffer says video/mp4, and then the box walk runs off the end of the buffer part way through the index. Useful for testing the gap between format detection and format validation — and for the upload path, where the two are frequently the same check. Distinct from the two other truncations in this group: the mid-mdat file has a complete index and missing media, this one has a broken index and no media, and a length-based cut deep enough to matter is the only way to tell those code paths apart.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — MP4 Truncated Mid-mdat
mp4
7 KB
Actual file preview for Intentionally Corrupt — MP4 Truncated Mid-mdat

Intentionally Corrupt — MP4 Truncated Mid-mdat

An intentionally corrupt MP4, cut off at 55% of its length in the middle of the `mdat` box — the shape of an interrupted download or a copy from a failing disk. Not a valid file by design. The interesting property is that it opens perfectly. Because the file was written with faststart the `moov` index sits before the media data, so a probe reads a complete track list and a duration within a tenth of a second of the original, and only decoding reveals that most of the samples the index points to are not there. Tools that validate by probing pass it; tools that validate by decoding do not. The seek bar will happily let you scrub past the end of the data that exists.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — MP4 With Bit Rot in the Media Payload
mp4
12.7 KB
Actual file preview for Intentionally Corrupt — MP4 With Bit Rot in the Media Payload

Intentionally Corrupt — MP4 With Bit Rot in the Media Payload

An intentionally corrupt MP4 in which 48 individual bytes inside the `mdat` payload have been inverted, leaving every box header, the index and the file length exactly as they were. Not a valid file by design. Structurally this file is perfect — it will pass any container-level validation you throw at it — and the damage is entirely in the compressed bitstream. Expect the decoder to log errors and the picture to break up and then recover at the next keyframe, which is what makes it the right fixture for testing that a transcode pipeline actually surfaces decoder errors rather than shipping a corrupted output and reporting success. The corruption sites are fixed, so the file is reproducible byte for byte.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — MP4 With the moov Atom Removed
mp4
11.1 KB
Actual file preview for Intentionally Corrupt — MP4 With the moov Atom Removed

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.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — WebM Truncated Mid-Stream
webm
6.3 KB
Actual file preview for Intentionally Corrupt — WebM Truncated Mid-Stream

Intentionally Corrupt — WebM Truncated Mid-Stream

An intentionally corrupt WebM, VP9 in Matroska, cut to 45% of its bytes. Not a valid file by design. The browser-facing member of this group. A truncated WebM starts playing in an HTML5 <video> element and then fires an `error` event mid-stream, which is a genuinely awkward state to handle: your player has already reported success, already hidden the spinner, and already told the user the duration. Use it to check that the error path is wired to something more useful than a frozen frame.

File
WEBM · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Intentionally Corrupt — Zero-Byte MP4
mp4
0 B
Actual file preview for Intentionally Corrupt — Zero-Byte MP4

Intentionally Corrupt — Zero-Byte MP4

An intentionally corrupt MP4 containing nothing at all — zero bytes, with a `.mp4` extension. Not a valid file by design. The degenerate case, and one that reaches production more often than any other: a failed upload, a `touch`ed placeholder, a copy that never started. It is worth having because so much code divides by duration, reads the first N bytes without checking N, or reports 'unsupported format' for a file that has no format to support. Note that content sniffing cannot help here — there are no magic bytes — so anything that must classify this file has only the extension to go on.

File
MP4 · Containers Corrupt
Use case
Error handlingVideo QA+1· Conversion set
Preview of Interpolation Ground Truth — depth-layers at 24 fps
mp4
18.6 KB
Actual file preview for Interpolation Ground Truth — depth-layers at 24 fps

Interpolation Ground Truth — depth-layers at 24 fps

The full-rate 24 fps reference for the depth-layers interpolation set. The decimated clips in this group drop frames from exactly this sequence, so every frame an interpolator is asked to synthesise has a true original to be scored against — which is the only way to tell invention from reconstruction.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Ground Truth — orbit-solid at 24 fps
mp4
20.7 KB
Actual file preview for Interpolation Ground Truth — orbit-solid at 24 fps

Interpolation Ground Truth — orbit-solid at 24 fps

The full-rate 24 fps reference for the orbit-solid interpolation set. The decimated clips in this group drop frames from exactly this sequence, so every frame an interpolator is asked to synthesise has a true original to be scored against — which is the only way to tell invention from reconstruction.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Ground Truth — pan-city at 24 fps
mp4
37.9 KB
Actual file preview for Interpolation Ground Truth — pan-city at 24 fps

Interpolation Ground Truth — pan-city at 24 fps

The full-rate 24 fps reference for the pan-city interpolation set. The decimated clips in this group drop frames from exactly this sequence, so every frame an interpolator is asked to synthesise has a true original to be scored against — which is the only way to tell invention from reconstruction.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — depth-layers at 12 fps
mp4
12.7 KB
Actual file preview for Interpolation Input — depth-layers at 12 fps

Interpolation Input — depth-layers at 12 fps

The depth-layers plate decimated to 12 fps by keeping every 2th frame, so 24 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — depth-layers at 6 fps
mp4
9.5 KB
Actual file preview for Interpolation Input — depth-layers at 6 fps

Interpolation Input — depth-layers at 6 fps

The depth-layers plate decimated to 6 fps by keeping every 4th frame, so 36 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — depth-layers at 8 fps
mp4
9.9 KB
Actual file preview for Interpolation Input — depth-layers at 8 fps

Interpolation Input — depth-layers at 8 fps

The depth-layers plate decimated to 8 fps by keeping every 3th frame, so 32 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — depth-layers, Motion-Blurred Decimation
mp4
16.3 KB
Actual file preview for Interpolation Input — depth-layers, Motion-Blurred Decimation

Interpolation Input — depth-layers, Motion-Blurred Decimation

Halved frame rate where each output frame is the AVERAGE of the two it replaces, rather than one of them — what a long shutter angle actually produces. Substantially harder than clean decimation, because the interpolator must undo motion blur as well as invent the missing instants, and no input frame matches any ground-truth frame exactly.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo deblur+1· Conversion set
Preview of Interpolation Input — orbit-solid at 12 fps
mp4
13.2 KB
Actual file preview for Interpolation Input — orbit-solid at 12 fps

Interpolation Input — orbit-solid at 12 fps

The orbit-solid plate decimated to 12 fps by keeping every 2th frame, so 24 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — orbit-solid at 6 fps
mp4
11.6 KB
Actual file preview for Interpolation Input — orbit-solid at 6 fps

Interpolation Input — orbit-solid at 6 fps

The orbit-solid plate decimated to 6 fps by keeping every 4th frame, so 36 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — orbit-solid at 8 fps
mp4
12.2 KB
Actual file preview for Interpolation Input — orbit-solid at 8 fps

Interpolation Input — orbit-solid at 8 fps

The orbit-solid plate decimated to 8 fps by keeping every 3th frame, so 32 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — orbit-solid, Motion-Blurred Decimation
mp4
19 KB
Actual file preview for Interpolation Input — orbit-solid, Motion-Blurred Decimation

Interpolation Input — orbit-solid, Motion-Blurred Decimation

Halved frame rate where each output frame is the AVERAGE of the two it replaces, rather than one of them — what a long shutter angle actually produces. Substantially harder than clean decimation, because the interpolator must undo motion blur as well as invent the missing instants, and no input frame matches any ground-truth frame exactly.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo deblur+1· Conversion set
Preview of Interpolation Input — pan-city at 12 fps
mp4
24.9 KB
Actual file preview for Interpolation Input — pan-city at 12 fps

Interpolation Input — pan-city at 12 fps

The pan-city plate decimated to 12 fps by keeping every 2th frame, so 24 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — pan-city at 6 fps
mp4
19.9 KB
Actual file preview for Interpolation Input — pan-city at 6 fps

Interpolation Input — pan-city at 6 fps

The pan-city plate decimated to 6 fps by keeping every 4th frame, so 36 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set
Preview of Interpolation Input — pan-city at 8 fps
mp4
24.1 KB
Actual file preview for Interpolation Input — pan-city at 8 fps

Interpolation Input — pan-city at 8 fps

The pan-city plate decimated to 8 fps by keeping every 3th frame, so 32 of the original 48 frames are missing. Interpolate back to 24 fps and each synthesised frame has an exact counterpart in the ground truth. Larger gaps need genuine motion understanding rather than blending.

File
MP4 · Interp · 640x360
Use case
Frame interpolationVideo QA· Conversion set