
Inventory the source and intended output
Use an authorised local reference and keep an unchanged original. Record its container, video and audio streams, subtitles and relevant metadata with an inspection tool such as ffprobe. Identify which streams the output must retain before constructing the command.
A file with several audio tracks can lose the intended language through an unsuitable selection even when its video remains unchanged. Treat selection as an explicit decision rather than assuming the output extension preserves every input component automatically.
Understand the documented copy path
FFmpeg’s manual defines stream copy as packet copying without decoding, filtering or encoding. It documents -c copy for that path and -map for stream selection. Copy can be useful for a container change or stream-count change, but the target container still has to support the selected material and required information.
For a conceptual workflow, inspect first, select the intended streams, choose copy only for streams that need no decoded transformation, then write a new destination. This describes a decision process, not a universal command safe for every input. Avoid overwriting the original while the intended output remains unverified.
Use transcoding when the requested change requires it
The manual describes transcoding as decoding and encoding again. Its examples include resizing, deinterlacing, audio resampling or mixing, and changing a codec for a decoder that cannot use the original. Filters operate on decoded frames, so they cannot be applied to the same stream while it remains on the pure copy path.
Audio and video can have separate handling decisions. Copying the video does not require pretending an incompatible audio track is already acceptable. Conversely, re-encoding every component merely because one audio format must change creates a different processing task.
Verify the new object rather than its suffix
Inspect the output’s actual streams and play a representative passage in the intended target. Check retained languages, captions and timing as well as whether a picture appears. A container rewrite can still fail the target’s complete requirements.
No FFmpeg command was executed for this article. It makes no claim of protection removal or universally lossless whole-file rewriting. The copy path avoids a decode/re-encode of selected packets; metadata, packaging, stream selection and actual device playback still need their own checks.
Sources and scope
Scope notes distinguish published documentation, supplied information and editorial methods. They do not report a hands-on service test.
- FFmpeg: streamcopy, transcoding and mapping — Primary current manual: packet path, -c copy/-map, muxer limits, per-stream processing and filter/transcode conditions.
- FFmpeg: ffprobe inspection — Official project documentation for stream/container inspection; proposed sequence not run.