What it does
FFmpeg is a command-line media converter that reads multiple inputs, filters or transcodes streams, and writes one or more outputs. It supports automatic and manual stream selection.
Use explicit stream mapping when a file contains several audio or subtitle tracks and only some belong in the output. The documentation also distinguishes stream copying from transcoding: copying moves encoded streams without decoding and encoding them, while transcoding changes their representation. Option order matters because many settings apply to the next input or output file. That precision makes FFmpeg useful for repeatable jobs, but commands need careful review.
Choose overwrite behavior deliberately in scripts: -n exits if an output already exists, while -y replaces it without asking. Stream copy cannot apply filters and can fail when the destination container cannot carry the original stream. Use a separate output filename when preserving the source is part of the task. File, pipe and network outputs are supported, so local processing does not imply every command stays offline.
Strengths
- Provides detailed control over inputs, outputs, filters, and individual streams.
Watch out for
- Many options apply to the next file, so command order changes behavior.
Best for
- Repeatable media conversion and stream-processing scripts
Sources
- ffmpeg Documentation (Oct 26, 2026)