Key takeaways
- Remuxing rewraps existing streams in a different container without decoding them, so it is fast and loses nothing.
- Transcoding decodes and re-encodes, which takes far longer and always loses some quality.
- If a device cannot parse the container, remux. If it cannot decode the codec, transcode.
- Trying remux first costs seconds and either fixes the problem or rules it out.
- Remuxing is also how you add, remove or reorder tracks — subtitles and audio — without re-encoding anything.
Remuxing rewraps streams in a different container without touching them. Transcoding decodes and re-encodes. One takes seconds and loses nothing; the other takes a long time and always loses some quality.
Knowing which your problem requires saves an enormous amount of time, and the most common mistake is transcoding when a remux would have worked.
The distinction
A media file has two layers:
The container — MP4, MKV, MOV, WebM, TS — which packages streams together with timing and metadata. The Matroska container's structure is documented in its element specification; the MPEG transport and program stream formats are specified in ITU-T H.222.0.
The streams inside it — the encoded video, audio and subtitle data.
| Remux | Transcode | |
|---|---|---|
| Changes | Container only | The encoded content |
| Quality | Unchanged | Reduced |
| Speed | Seconds to a minute | Minutes to hours |
| Processor load | Minimal | Heavy |
| Fixes | Container incompatibility | Codec incompatibility, resolution, bitrate |
Which one your problem needs
The diagnostic is short:
If the device cannot parse the container → remux. Symptom: the file does not open at all, or the player reports an unsupported format immediately.
If the device cannot decode the codec → transcode. Symptom: the file opens, and you get a black screen with audio, audio with no video, or severe stuttering.
If you need a different resolution, frame rate or bitrate → transcode. There is no way around it; those are properties of the encoded content.
If you want to add, remove or reorder tracks → remux. Subtitle and audio track changes are container operations. Subtitle formats explained covers the subtitle side.
Try remux first, always
This is the practical recommendation, and the reason is asymmetric cost.
A remux takes seconds. If it fixes the problem, you have solved it losslessly. If it does not, you have lost almost no time and learned that the problem is the codec.
A transcode takes a long time, heats the device, and permanently loses quality. Doing it first, and discovering afterwards that a remux would have worked, is the expensive mistake.
The rule: remux, test, transcode only if necessary.
Why transcoding loses quality
Because the source is already compressed.
Decoding produces frames that are already missing information the original encode discarded. Re-encoding those frames discards more — the second encoder has no access to what the first removed, so it compresses an already-lossy result.
This is generation loss, and it compounds with each pass. A file transcoded three times is visibly worse than one transcoded once, even at the same settings.
Practical consequences:
- Keep the original where you can.
- Transcode from the highest-quality source available, not from an already-converted copy.
- If you must transcode, do it once, at settings you will not need to change.
Choosing transcode settings
When it is genuinely necessary:
Target the device, not the maximum. If the goal is a file that plays on a specific phone, encode to what that phone decodes in hardware. Hardware versus software decoding covers why that matters more than any quality setting.
H.264 is the compatibility answer. Less efficient than newer codecs, and the fewest ways to fail. Android's supported media formats documentation sets out what the platform requires.
Do not upscale. Encoding at a higher resolution than the source adds file size and no detail.
Give it enough bitrate. A starved encode looks worse than the source at any resolution.
Remuxing as a maintenance tool
Beyond fixing playback, remuxing is how you tidy a library without re-encoding:
- Move from a container a device does not handle to one it does.
- Strip audio tracks in languages you do not need, to reduce file size.
- Add an external subtitle file into the container so it travels with the video.
- Reorder tracks so the one you want is selected by default.
All of these are lossless and fast, because none of them touches the encoded content. Video file formats explained covers what each container can and cannot carry, which determines what a remux is able to do.
Where our app fits
Regal Video Player plays MP4, MKV, MOV, M4V, WebM, 3GP, FLV, TS and M2TS containers with H.264, H.265, VP8, VP9 and AV1 video and AAC, MP3, FLAC and Ogg audio.
It is a player, not a converter. It does not remux or transcode. Its relevance to this article is diagnostic: the container and codec list above tells you what it can open, which is exactly the information you need to decide whether a file needs a rewrap or a re-encode.
The free version covers local playback and is supported by ads; an optional Premium purchase removes ads and unlocks extra themes, with monthly, yearly and lifetime options shown by Google Play.
The Android video player guide covers diagnosing playback failures step by step, and AV1 on Android explained covers the codec most likely to require a transcode on older hardware. Everything we make here is under video and utility apps.
Good to know
Frequently asked questions
What is remuxing?
Does remuxing lose quality?
When do you have to transcode?
How do I know which my problem needs?
Can I add subtitles without re-encoding?
Sources
- Matroska Element Specification (opens in a new tab)Matroska — accessed
- H.222.0: Generic coding of moving pictures and associated audio information — Systems (opens in a new tab)International Telecommunication Union (ITU-T) — accessed
- Supported media formats (opens in a new tab)Android Developers, Google — accessed