The same file can play on a phone, fail on a desktop, then break in an editor. That doesn’t usually mean it’s corrupt. It means one thing was missed: MP4, MOV, MKV, and WebM are containers, not codecs.
Container and codec are not the same thing
A container is the box. A codec is how the picture and sound inside that box are compressed:
- Container: how video, audio, subtitles, chapters, and timestamps are packaged.
- Codec: how the image and audio data are encoded.
- Profile / level: extra parameters inside the codec that define how capable a decoder must be.
So “MP4” only tells you the box. It does not guarantee the video is H.264. MP4 can hold H.264, H.265, AV1, VP9, or something more obscure. MOV and MKV can also hold common H.264.
It’s like a ZIP file: the wrapper may be the same, but the contents can be very different.
Common combinations
| Container | Common codecs | Best for |
|---|---|---|
| MP4 | H.264 + AAC | The safest general-purpose combo |
| MOV | H.264 / ProRes | Apple ecosystems, professional editing |
| MKV | H.264 / H.265 / multiple tracks | Desktop playback, archiving |
| WebM | VP9 / AV1 | Web playback, smaller sizes, pickier support |
If you only remember one rule: for sharing, browser playback, or editing, convert to MP4/H.264 + AAC first.
“It plays” doesn’t mean “it processes”
Players and editors have different requirements.
A player may tolerate H.265, VP9, or AV1 and still start playback. An editor needs reliable decoding, accurate seeking, and frame-level access. That’s why the same file can preview fine in one app and fail in another.
Browsers are even more constrained. Playback only means the browser can decode. Processing, transcoding, or extracting frames depends on the exact codec and the WASM engine the page uses. That is why a tool page can say “this file previews, but can’t be processed.”
When to convert
Don’t convert for the sake of it. Convert when one of these is true:
- You’re sending the file to someone else. A standard MP4 saves explanations.
- An editor rejects the file. H.264 is usually more reliable than hunting for plugins.
- You also need to change size or quality. Convert and compress in one step.
For maximum compatibility, this is enough:
ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 192k output.mp4
If the codec is already fine and you only want to change the container:
ffmpeg -i input.mkv -c copy output.mp4
But stream copy has one condition: the target container must support the existing codec. Not every codec that lives in MKV belongs in MP4.
If it won’t play or import, check these
- What’s the extension? It only tells you the container, not the codec.
- What codec is inside? Use
ffprobe, a player’s info panel, or a tool page. - Is the profile too new or too demanding? Even H.264 can fail if the profile/level is unusual.
One common case: an H.265 phone recording won’t open on an older PC. The file is fine. The player just doesn’t support that codec. The fix is re-encoding, not “repairing” the file.
Things not to confuse
- MP4 ≠ H.264. MP4 is a container; H.264 is a codec.
- MKV ≠ high quality. MKV just means flexible packaging.
- WebM ≠ smaller. It often uses VP9/AV1, but the result depends on content and settings.
- MOV ≠ better for editing. It’s Apple-friendly, not universally stable.
Try it
Use the Format Converter to normalize to MP4 and adjust codec, bitrate, frame rate, or resolution. If you also want to shrink it, use the Video Compressor and tune CRF.
Everything runs locally in your browser; the file does not upload.
FAQ
Q: Does MKV to MP4 lose quality? A: Not if you only change the container. If you re-encode, quality depends on CRF, preset, and resolution.
Q: Why does the same MP4 behave differently on different devices? A: Because the codec, profile, resolution, and bitrate inside it may differ. MP4 is only the container.
Q: Is WebM newer, so is it better? A: Not necessarily. WebM is good for web and size-sensitive cases, but MP4/H.264 is more compatible.
Q: What’s the safest way to send a video? A: Convert to MP4/H.264 + AAC first, then compress only if the size still matters.