Generated test fixtures
The binary fixtures in generated/ contain synthetic test patterns, solid
colours, sine waves, short subtitle strings and deliberately malformed bytes.
They contain no downloaded or recorded media. Native FFmpeg is a
development/test-generation tool only; the browser application never invokes
it.
Regenerate the exact fixture set with:
npm run fixtures:generate
# or, to replace the known generated set:
scripts/generate-fixtures.sh --force
The generator records the native FFmpeg first-version line when it runs.
The checked-in bytes were generated on 2026-07-24 with FFmpeg 7.1.3 on
Freedesktop SDK 25.08. Output may differ with another FFmpeg build; review and
update this inventory and generated/SHA256SUMS when intentionally
regenerating. Regeneration requires native H.264/x264, VP8/libvpx,
Vorbis/libvorbis, MP3/LAME, AAC, FLAC and PNG encoders. The fixture data is
dedicated to the public domain under
CC0-1.0; this statement applies only to tests/fixtures/generated/, not to the
application, which is licensed separately under GPL-3.0-or-later.
Inventory
The exact native argument vectors are in
scripts/generate-fixtures.sh. “Generated
by” below identifies the relevant source and encoding operation. Every fixture
is intentionally tiny and exists to exercise a bounded behavior, not to
establish broad codec compatibility.
All rows have licence CC0-1.0 (fixture data only).
| Fixture | SHA-256 | Expected duration and streams | Expected metadata | Generated by / purpose |
|---|---|---|---|---|
pattern-av.mp4 |
3bd192d1b6cc9f1adad0cdbadbe82c61a5ae1789ce99102fcfb2011f1e1e9927 |
2.000 s; H.264 160×90 at 12 fps; mono AAC 16 kHz | title Generated AV fixture |
testsrc2 + 440 Hz sine, x264/AAC; primary import, probe, preview and conversion smoke |
compatible-a.mp4 |
93f5c81e90e592217b7d98204fbc5631602055f782659a44390db64c6f125fd2 |
1.000 s; H.264 128×72 at 10 fps; mono AAC 16 kHz | no semantic tags | red color + 330 Hz sine, x264/AAC; first stream-copy concat clip |
compatible-b.mp4 |
34a49f3f0dbfa3c90562524c1762e360fddce55de8e1fa2ead3a405927c2eff2 |
1.000 s; H.264 128×72 at 10 fps; mono AAC 16 kHz | no semantic tags | blue color + 550 Hz sine, same settings as A; second stream-copy concat clip |
different-dimensions.mp4 |
018be12c1c13ca2b196b3e30996d712cc3174ddb5a2225e65c0acf25b94ca20d |
1.000 s; H.264 96×96 at 10 fps; mono AAC 16 kHz | no semantic tags | testsrc2 + 660 Hz sine; incompatible concat, crop and resize |
tone.wav |
0fd1f54d6be2f1cc7fd778775dd29cf184770d3716cf3394bf03ed54ac264c3c |
1.000 s; mono PCM signed 16-bit LE, 16 kHz | title Generated tone |
440 Hz sine, PCM; waveform and lossless audio output |
tone.mp3 |
68e45aefbe931a1ec3a9566713c80da64e58e379efe8ef86e8a7b846391334ce |
1.080 s; mono MP3, 16 kHz | title Generated tone |
440 Hz sine, LAME 32 kbit/s; MP3 input/output |
tone.flac |
3f27e37b4d4c17c7ac1c3131c21fbe561c0d4637610e615fc96ff12b2870a5f8 |
1.000 s; mono FLAC, 16 kHz | title Generated tone |
440 Hz sine, FLAC level 5; FLAC input/output |
pattern.webm |
0613c85e11dffd72f166a7cdba03b57e9b293acd9edb8b308d4ec0feaf19ff8e |
1.016 s; VP8 128×72 at 10 fps; mono Vorbis 16 kHz | title Generated WebM fixture |
testsrc2 + 440 Hz sine, libvpx/Vorbis; WebM and alternate-codec path |
subtitle.srt |
f36e5e9dd09da79774e7d4288bc177a273e63bc678132a23ee0b756184dd0f91 |
cue 0.100–0.700 s; UTF-8 text | cue text Generated subtitle |
literal generated text; SRT import and shift |
subtitle.vtt |
6e19fc5920479512739e126433c7d80fbd168fc8a34786a30d2e270f48da8bff |
cue 0.100–0.700 s; UTF-8 text | cue text Generated subtitle |
literal generated text; WebVTT import and shift |
subtitle.ass |
cb1c44b5808a5aaa173d756d0b819b282138f73ce50ca9c883ee377eb646ddd8 |
dialogue 0.100–0.700 s; UTF-8 text | 128×72 script, local generic sans-serif style |
literal generated text; ASS parsing and local-font burn-in path |
metadata.mp4 |
372d81c7bcaae67c09042fda95860902eb728374301ae97848e536a27b065dcd |
1.000 s; same H.264/AAC streams as compatible-a.mp4 |
title Metadata fixture; artist add ideas test generator; comment Local generated media |
stream-copy remux of A with tags; metadata round trip/removal |
chapters.mp4 |
4f1b2bd90d1a041c90d325805e42a76518b6569f93715dbd711773cdedfb1222 |
1.000 s; H.264, AAC and MP4 chapter-data stream; chapters 0–0.5 s and 0.5–1.0 s | title Chapter fixture; chapter titles First, Second |
stream-copy remux of B with generated FFMETADATA; chapter inspection/export |
attached-cover.mp3 |
62fe9916406bbd9b25213f1aede0791ad382b235e425a42ea463f58c403588c3 |
1.080 s; mono MP3 plus 32×32 PNG with attached_pic=1 |
title Attached cover fixture; cover title/comment |
440 Hz sine + generated yellow color PNG; attachment/cover-art stream handling |
truncated.mp4 |
c7e91f4a3d1e67bc1bcba2e7511299de5bda2867ba886d1bec786d1f60cfe93a |
invalid: first 128 bytes of compatible-a.mp4; no usable streams |
none expected | bounded head -c 128; safe malformed-input diagnostics and cleanup |
generated/SHA256SUMS is the canonical machine-checkable copy of these
digests. Verify it from its directory:
(cd tests/fixtures/generated && sha256sum -c SHA256SUMS)