Skip to content

Reproducible recipe evidence

These are measured outputs, not screenshots or benchmark claims. On 2026-08-25 the commands below ran against deterministic first-party fixtures generated by tests/media/download_fixtures.py. The checked-in receipts preserve the exact plan, FFmpeg/Python versions, probes, elapsed result, and privacy policy without publishing local media paths.

Recipe Before After Machine evidence
Web-compatible video 688,662-byte MOV, H.264 555,083-byte MP4-family output, H.264; 19.4% smaller Receipt JSON
Exact-size upload 4,042,503-byte H.264/AAC MP4 248,417 bytes against a 262,144-byte limit; target passed Receipt JSON
Podcast loudness -22.0 LUFS WAV -16.2 LUFS MP3 against a -16.0 LUFS target Receipt JSON

The compact evidence index records the receipt SHA-256 values so changes are reviewable.

Reproduce

Generate the same inputs, then run:

python tests/media/download_fixtures.py --force

pyffmpegcore profile run web/mp4-compatible \
  --input tests/media/downloads/sample_video_mov.mov \
  --output web.mp4 \
  --receipt web-video.receipt.json

pyffmpegcore compress \
  --input tests/media/downloads/sample_mp4_h264.mp4 \
  --output under-limit.mp4 \
  --target-size 256KiB \
  --two-pass \
  --receipt exact-size.receipt.json

pyffmpegcore normalize-audio \
  --input tests/media/downloads/sample_audio_wav.wav \
  --output podcast.mp3 \
  --method loudnorm \
  --receipt podcast.receipt.json

The loudness figures use FFmpeg's ebur128=peak=true analysis before and after normalization. File sizes and stream facts come from the receipt probes. Exact bytes and timings vary when the FFmpeg build changes, so these artifacts are a dated reproducibility baseline, not a universal performance promise.