Media conversion compatibility profile — six real FFmpeg cases

Question: Do all six media tools produce the exact container, codecs and duration behaviour published on their pages?

Findings

  • All six fixtures passed signature inspection, output ffprobe, a complete output decode, promised-codec verification and the duration-tolerance check.
  • The largest observed duration difference was 0.020 seconds — inside the published 0.250 second floor.
  • Compatibility conversion is not synonymous with compression: M4A to MP3 grew from 31,930 to 50,199 bytes because the fixed MP3 delivery bitrate exceeds the tiny synthetic AAC source.
  • Every fixture and expected output is downloadable from its tool page, and the lab exports this matrix as CSV and JSON.

The data

CaseToolInput codecsOutput codecsInput SHA-256Output SHA-256Input bytesOutput bytesSize changeDuration deltaElapsed msValidation
FH-MEDIA-01webm-to-mp4vp9 + opush264 + aac834490a1a8b57748d371d0da60aa553b69f8ccfd3753093a1f8eff657180dae269b3ec972990330e85df6b4d2e8875de339877421fa0753e3cac7f6214c5ea4693,03189,611-4%0.008 s162pass
FH-MEDIA-02mov-to-mp4h264 + pcm_s16leh264 + aac6cd69d1d4d42f9652fc4737f0b491f68c96c7fcebbd2d26e4c5d0ece228d35cc667430357cbeaab2e7d0b7272003aadb38756dcf88627541273d5d258814ee06273,38884,697-69%0 s132pass
FH-MEDIA-03mp4-to-mp3h264 + aacmp3076cee70b78122b5d9197f57a1eb5fa1cd2873e167ce437bb0af831b6697b9730b400f5efcaefcb79da7bfe5d284a345b5aa238b84d81e64d297645bd86acf2789,10649,581-44%0.005 s87pass
FH-MEDIA-04webm-to-mp3vp9 + opusmp3834490a1a8b57748d371d0da60aa553b69f8ccfd3753093a1f8eff657180dae2e660d5eb3a9946084a018762e150d5237abd97cc604bc3e771ef0023f4cefb4393,03149,581-47%0.008 s85pass
FH-MEDIA-05m4a-to-mp3aacmp3ad072f89c019d2b7aba7c4772c121f737c9f11c30c62dc2bfca3a78c3b66534a2d57fcc5831817606985c7e3e364cebcc53fc3928662c705ba89fa6b9620274631,93050,199+57%0.02 s84pass
FH-MEDIA-06wav-to-mp3pcm_s16lemp3b192ea5a2efce8baebc5837afd2fb19c1c2436b0b933814b602db9ccc0cb8ec54b61b96caf5f60a1f8bb9a6b06e6f97528c046e5d70f3d686489a111206ad448192,07849,581-74%0 s97pass

⬇ Download raw data (CSV) ⬇ Download report (JSON)

Method

  1. Generate five copyright-free fixtures with FFmpeg: VP9/Opus WebM, H.264/PCM MOV, H.264/AAC MP4, AAC M4A and PCM WAV.
  2. Run the six public task profiles through the same media-engine.js module used by the server — no hand-written substitute command.
  3. Inspect every input and finished output with ffprobe, then decode every output stream from start to finish with FFmpeg in error-fatal mode. Require the declared stream, MP4=H.264/yuv420p (+ AAC when audio exists), MP3=audio-only MP3, and a duration difference no greater than 250 ms or 1%.
  4. Record exact bytes, SHA-256 checksums, codecs, duration deltas and elapsed time in data/media-benchmark.json. The generator overwrites the dataset rather than asking an editor to copy numbers.

Limitations

  • Small synthetic fixtures prove the fixed profiles and validation path, not subjective quality on every camera, codec, HDR mode or damaged timestamp layout.
  • Encoding speed is hardware-dependent; elapsed milliseconds are published for reproducibility but are not a promise about visitor wait time.
  • One primary stream per task. Alternate audio, subtitles, chapters, attachments and metadata are deliberately outside this compatibility profile.

Takeaway

These results support a narrow, checkable claim: profile 1.0.0 produces the documented codecs and timing on the six published synthetic cases. They do not support a universal quality score, so the tools report structural pass/fail evidence and disclose lossy changes instead.

Advertisement

← All Labs reports · standards in the testing methodology