FFmpeg: the free command-line toolkit under most video automation
A free command-line tool that converts, filters and transcodes audio and video, under the LGPL 2.1+ with optional GPL parts [2][1].
- Does
- Converting, cropping, joining and subtitling video in scripts
- Best for
- Creators automating repetitive video jobs
- Cost
- Free (LGPL 2.1+; GPL if GPL parts are built in) [1]
- Runs
- Locally, command line
Not AI, but many AI tools depend on it: OpenAI Whisper needs it [6], PySceneDetect splits videos with it [7], and Remotion bundles its own build [8]. ffprobe and ffplay are documented alongside ffmpeg [2].
What it does
- Licence
- LGPL 2.1+; if the optional GPL parts are used, the GPL covers all of FFmpeg [1]
- Joining clips
- Concat demuxer, for files with the same streams, codecs and time base [3][4]
- Cropping
cropfilter; centres the crop if x and y are not set [5]- Burned-in subtitles
subtitlesfilter draws an SRT onto the picture; needs a build with--enable-libass[5]- Data tracks
- Camera telemetry and other data streams are not selected automatically;
-dndrops them [2] - Install
- Homebrew, apt, pacman, Chocolatey or Scoop [6]
Integrations
| Interface | Status | Detail |
|---|---|---|
| MCP server | MCP · Community | Community wrappers exist |
| Command line | CLI · Built in | Official project CLI |
| API / library | API · Built in | Library APIs |
Requirements and setup
Licence, cost and privacy
Limitations
Quick start
Install and concat lines are from the docs; the crop and subtitle lines are assembled from documented filters.
brew install ffmpegchoco install ffmpegsudo apt update && sudo apt install ffmpegprintf "file '%s'\n" *.wav > mylist.txt
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.wav(for %i in (*.wav) do @echo file '%i') > mylist.txtprintf "file '%s'\n" *.MP4 > mylist.txt
ffmpeg -f concat -i mylist.txt -c copy joined.mp4ffmpeg -i video.mp4 -vf "crop=ih*9/16:ih" vertical.mp4ffmpeg -i video.mp4 -vf subtitles=sub.srt captioned.mp4Uses for vloggers
Workflows that use it
Detect shots in raw GoPro or phone clips, choose the story order, join the clips with FFmpeg, and keep GPS and faces under your control.
Turn vlog speech into SRT and VTT subtitle files on your own computer, with an app or the command line, then check every name.
Alternatives
Detect hard cuts and scene boundaries in footage
Create repeatable data-driven video templates with React
Use agent skills to programmatically edit video timeline and render
Sources
- FFmpeg License and Legal Considerations fetched 2 Nov 2026
- ffmpeg Documentation fetched 2 Nov 2026
- Concatenate – FFmpeg fetched 2 Nov 2026
- FFmpeg Formats Documentation fetched 2 Nov 2026
- FFmpeg Filters Documentation fetched 2 Nov 2026
- raw.githubusercontent.com/openai/whisper/main/README.md fetched 2 Nov 2026
- raw.githubusercontent.com/Breakthrough/PySceneDetect/main/README.md fetched 2 Nov 2026
- FFmpeg license | Remotion fetched 2 Nov 2026
- raw.githubusercontent.com/ggml-org/whisper.cpp/master/README.md fetched 2 Nov 2026
- GoPro Open Sources Video Metadata | GoPro fetched 2 Nov 2026