Media processing CLI for recording, transcoding, filtering, muxing, and streaming audio or video.
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis
FFmpeg is the core command-line tool in the FFmpeg project for turning media files, streams, and capture devices into new media outputs. It covers one-off conversions, complex filter graphs, remuxing, live ingest, and scripted media pipelines.
What It Enables
- Transcode or remux audio, video, subtitle, and attachment streams between many container and codec combinations.
- Capture from files, pipes, network streams, or recording devices, then filter, trim, resize, mix, or package the result for delivery.
- Build repeatable media workflows in shell scripts or CI, including batch conversions, live stream processing, and pipe-based handoffs to other tools.
Agent Fit
- Its command surface is large but highly scriptable: flags, stream mapping, pipes, and exit codes make it practical for unattended media jobs once the command is known.
- Machine-readable support exists, but it is uneven:
-progressemits key-value status data and execution graphs can be printed as JSON, while deeper media inspection is usually better delegated toffprobe. - Works well as an action primitive when a skill can encode project-specific presets, codec constraints, and filtergraph patterns for recurring workflows.
Caveats
- Feature availability depends on how the binary was built, since codecs, hardware acceleration, and external-library support vary by package or source build.
- The option surface is broad and stdin interaction is enabled by default, so unattended runs should usually be explicit about flags such as
-nostdin, mappings, codecs, and overwrite behavior.