Reproducible browser test
MOV to MP4 codec compatibility: tested matrix
MOV and MP4 are containers, not codecs. Stream copy adds no new encoding loss only when the existing video, audio, and metadata can be muxed into MP4. This report publishes both successful and failed production-browser tests.
Test result summary
3
public source samples
6
mode combinations tested
3 / 6
observed passes
Tested compatibility matrix
Codec names below are source-declared by the FFmpeg sample archive path and filename. They are not presented as locally probed metadata.
| Source-declared streams | Mode | Result | Input | Observed output | Observation | Sample |
|---|---|---|---|---|---|---|
| H.264 + AAC | Stream copy | Pass | 943,785 B | 922.3 KB | Queue item reached Done and exposed an MP4 download. | Source file |
| H.264 + AAC | H.264 re-encode | Pass | 943,785 B | 780.4 KB | Queue item reached Done after lossy H.264 re-encoding. | Source file |
| MPEG-1 Video + PCM S16LE | Stream copy | Fail | 18,764 B | โ | Engine exited abnormally (code 1). | Source file |
| MPEG-1 Video + PCM S16LE | H.264 re-encode | Fail | 18,764 B | โ | Engine exited abnormally (code 1); the current command does not explicitly select an audio encoder. | Source file |
| Cinepak + PCM S8 | Stream copy | Fail | 6,912,218 B | โ | Engine exited abnormally (code 1). | Source file |
| Cinepak + PCM S8 | H.264 re-encode | Pass | 6,912,218 B | 2.9 MB | Queue item reached Done after H.264 re-encoding; target-player audio support was not certified. | Source file |
Methodology
- Test date
- 2026-08-19
- Environment
- EasyTools production page in a Chromium-based in-app browser; @ffmpeg/[email protected]
- Pass criterion
- The per-file queue item reached
Doneand exposed a downloadable MP4 Blob. A player/device certification was not performed. - Output-size precision
- The production UI displays rounded sizes, so this dataset preserves those observed labels instead of inventing exact byte counts.
Commands used by the live component
Stream copy
ffmpeg -i input.mov -c copy -movflags +faststart output.mp4 H.264 re-encode
ffmpeg -i input.mov -vcodec libx264 -preset ultrafast -crf 28 output.mp4 The re-encode command does not explicitly select an audio codec. It must not be described as guaranteed H.264/AAC output.
Reproduce the test
- Download the source sample from its FFmpeg archive link; EasyTools does not redistribute the sample binary.
- Verify its SHA-256 against the value in the JSON or CSV dataset.
- Open the MOV to MP4 converter, select the recorded mode, and run the conversion.
- Record the queue result, rounded output size, browser, device, and date. Different environments may produce a different outcome.
Sample SHA-256 values
- H.264 + AAC
3cc0bb87d4826e7ae830fbf935db638ba147c9f87c22e7b1ff384dc0f1b725ca - MPEG-1 Video + PCM S16LE
b8130f091d97a869ece77dfb8a453c1a8952da9833888933a0460c82dc8c61eb - Cinepak + PCM S8
79a56e97a20a64ed1b88de5cbb93b2609ef0ee7b10f01b40d6a1053dee054336
What this matrix does not prove
- Three samples are not a certificate for every MOV file, browser, operating system, or playback device.
- Local processing means selected files are not uploaded by this converter; it does not remove browser memory or CPU limits.
- A failed sample does not prove that every file using the same named codec will fail; metadata and stream details matter.
- A generated MP4 still needs codecs accepted by the target player.
Technical sources
- FFmpeg documentation: streamcopy
- FFmpeg formats documentation: MOV/MP4 muxer
- MDN: Media container formats
- MDN: Web video codec guide
The queue summary briefly displayed โFinished converting 0 filesโ during one successful run, while the per-file item was Done and exposed a download. Success here is based on the per-file result. This UI-count issue is disclosed rather than used as evidence.