FFmpeg
A command-line framework and library suite that decodes, encodes, transcodes, muxes, demuxes, streams, and filters audio, video and image files
&
| + | Format Transcoding | Converts audio and video between hundreds of container formats and codecs from the command line, allowing users to standardize incompatible media into a single target format without proprietary software. |
|---|---|---|
| + | Hardware Acceleration | Offloads decoding and encoding to GPU-based APIs such as NVDEC/NVENC, Quick Sync, VAAPI, and Vulkan compute, enabling faster processing and lower CPU load on supported hardware. |
| + | Filtergraph System | Chains audio and video filters such as scaling, cropping, denoising, and color correction through libavfilter, letting users apply complex multi-step edits in a single command. |
| + | Streaming Protocol Support | Reads and writes live streams over protocols including RTMP, HLS, DASH, SRT, and RTSP, allowing users to ingest, restream, or archive live broadcasts directly from the command line. |
| + | Multi-threaded CLI Pipeline | Runs the demuxing, decoding, filtering, encoding, and muxing stages of the ffmpeg command-line tool in parallel threads, improving throughput and reducing latency on multi-core systems. |
| + | Extensive Codec Library | Bundles native encoders and decoders for more than a hundred audio and video codecs through libavcodec, so users can handle legacy and modern formats such as AV1 and VVC without separate tools. |
| + | Stream Analysis with ffprobe | Inspects and reports codec parameters and stream metadata for media files in text, CSV, XML, or JSON output, helping users debug or catalog media assets programmatically. |
| + | Media Playback with ffplay | Includes a lightweight SDL-based media player alongside the toolset, allowing users to preview audio and video output immediately without opening a separate application. |
| - | No Graphical Interface | Ships only as a command-line tool with no bundled GUI, requiring users to learn command syntax or rely on third-party front-ends to perform routine editing tasks. |
System Requirements
| # | Minimum |
|---|---|
| 1 |
|
| # | Minimum |
|---|---|
| 1 | Runs on glibc-2.28 + linux-4.18 or newer |
| # | Minimum |
|---|---|
| 1 | OS macOS 10.13 |
Ratings
| G2 | 4.65 based on 20 reviews |
|---|
Developer
Written in
Initial Release
Notes
Part of ffmpeg:
- ffmpeg (the converter)
- ffprobe (the stream analyzer)
- ffplay (the media player)
shared/static builds explained:
shared: By linking all executables (ffmpeg, ffprobe, ffplay) to one shared set of core libraries (.dll/.so),sharedbuilds eliminate duplicate code and drastically reduce file size.static:staticbuilds are larger because the core libraries are compiled directly into each standalone executable (ffmpeg, ffprobe, ffplay), meaning you download three redundant copies of the same code. Builds with no specific mention ofsharedin the name arestatic.- Both
sharedandstaticbuilds are equally portable and self-sufficient.
GPL/LGPL builds explained:
Licensing is dual: LGPL v2.1-or-later by default, but the entire binary becomes GPL v2-or-later licensed if any GPL-covered optional component (e.g. libx264) is enabled at compile time. See FFmpeg License and Legal Considerations.
LGPL: Preferable for commercial usage. Missing premium GPL encoders like x264/x265.
GPL: Combining it into proprietary software is generally forbidden. Preferable for personal usage. Includes high-performance external encoders like libx264 and libx265.
FFmpeg’s official website distributes source code only; the project does not publish official precompiled Windows or macOS binaries. The Download page links to reputable third-party build providers (gyan.dev, BtbN, evermeet.cx) and official Linux distro packages.