FFmpeg Command-line toolkit for recording, converting, and streaming audio and video

FFmpeg

FFmpeg is a free, open-source, cross-platform toolkit for recording, converting, and streaming audio and video. Its command-line tool, also called ffmpeg, can transcode between virtually any container/codec combination, trim and cut clips, extract audio, scale resolution, overlay filters, and pipe raw frames — all without a GUI. It's the engine behind a huge share of media software, from browsers' video decoders to YouTube's own transcoding pipeline.

ffmpeg -i input.mov output.mp4                 # convert container/codec
ffmpeg -i input.mp4 -vn -c:a copy audio.aac     # extract audio only
ffmpeg -i in.mp4 -ss 00:00:10 -t 5 clip.mp4     # trim a 5-second clip

Why FFmpeg?

  • It handles almost any format. Hundreds of container formats and codecs are supported for both decoding and encoding, so it doubles as a universal media converter.
  • It's a real pipeline, not just a converter. The filtergraph system lets you chain scaling, cropping, overlays, color correction, and audio mixing into a single pass, streamed through memory rather than round-tripping through disk.
  • It's scriptable and fast. Every operation is a single CLI invocation with no GUI overhead, and encoding can be hardware-accelerated (VAAPI, NVENC, QSV, VideoToolbox) where available.
  • It's the shared foundation. Browsers, media servers (Plex, Jellyfin), and countless apps embed FFmpeg's libraries (libavcodec, libavformat) under the hood — learning the CLI transfers directly.

Install

Arch Linux:

sudo pacman -S ffmpeg

Debian / Ubuntu:

sudo apt install ffmpeg

Fedora:

sudo dnf install ffmpeg

macOS (Homebrew):

brew install ffmpeg

See Getting Started for Windows and how FFmpeg's input/output command structure actually works.

  • Source: FFmpeg/FFmpeg on GitHub
  • License: LGPL-2.1+ (GPL-2.0+ if built with GPL-only components)
  • Official site: ffmpeg.org
  • First released: 2000, by Fabrice Bellard

These pages are independent, community-style reference documentation for FFmpeg. They are not affiliated with the FFmpeg project. For the canonical reference, see the official ffmpeg(1) documentation.