Start with the delivery requirement
Keep the original file and write down what the recipient actually needs. A player preview needs a video stream; an audio editor needs sound without the picture; a browser animation may need WebM or MP4; and a short, silent preview may still call for GIF. The filename extension alone does not define a usable container and codec combination.
Choose the least destructive path
Use video-stream-extractor when the existing coded streams are suitable and you only need to separate them. Stream copy avoids a fresh transcode, but it is not a compatibility guarantee. For audio-only work, choose video-to-wav or video-to-flac when source fidelity matters, and choose video-to-mp3, video-to-aac, or video-to-opus when a compact delivery file is the better fit. A lossless output cannot undo compression already present in the source.
Match animation to the consumer
Use gif-to-mp4 or gif-to-webm when a video container is more useful than a silent image sequence. Use mp4-to-gif for a short preview and accept the GIF palette and duration limits. If the source is animated WebP or APNG and the consumer expects MP4, use animated-webp-apng-to-mp4. Every re-encode can alter detail, timing, color, or size, so keep a comparison copy.
Verify before handoff
Re-probe the result and test it in the destination player or editor. Check stream presence, duration, frame rate, dimensions, audio channels and sample rate, synchronization, visible artifacts, and file size. For broader audio cleanup or loudness work, continue with audio-convert; for general media inspection, use video-utility; for packaging without a fresh encode, see stream-copy-remux-and-media-packaging when that workflow is the better boundary.