Why remuxing is magic
The biggest speedup in your FFmpeg life comes from -c copy. Instead of decoding and re-encoding (slow, lossy, expensive), the encoded bits stream straight from input demuxer to output muxer. A 4K hour-long file remuxes in seconds, not minutes. Quality is byte-identical because nothing was re-encoded.
The catch: copy mode only works if the codec is legal in the output container. You can copy H.264 video into MP4 but not into WebM (which requires VP8/VP9/AV1). FFmpeg will tell you with a clear error: "Could not find tag for codec h264 in stream #0, codec not currently supported in container".
When to use it
- Container change with no quality concern: MKV → MP4 to play on Apple TV.
- Stripping subtitles or extra audio tracks while keeping the rest untouched.
- Trimming on keyframe boundaries (frame-perfect trimming requires re-encode — see lesson 7).
- Joining clips that were originally encoded with identical settings (lesson 8).
When not to use it
If you need different resolution, different codec, different bitrate, or frame-accurate trimming — you have to re-encode. -c copy won't help.