How to Install FFmpeg on Windows, Mac, and Linux
FFmpeg is one of the most powerful multimedia tools ever built — a free, open-source command-line program that can record, convert, compress, and stream audio and video in virtually any format. It runs quietly behind the scenes in countless apps you already use, but installing it directly gives you direct control over your media files in ways most software can't match.
The installation process is straightforward, but it varies significantly depending on your operating system and how you plan to use it.
What FFmpeg Actually Is (and Why Installation Matters)
FFmpeg isn't a traditional app with a graphical interface. It's a command-line tool, meaning you interact with it through a terminal or command prompt rather than clicking buttons. Before installing, it helps to understand that FFmpeg is made up of several core components:
- ffmpeg — the main conversion and processing tool
- ffprobe — inspects and analyzes media file metadata
- ffplay — a basic media player built on FFmpeg libraries
When people say "install FFmpeg," they usually mean getting all three of these accessible from their system's command line. That last part — making it accessible system-wide — is where most installation questions arise.
Installing FFmpeg on Windows 🖥️
Windows doesn't include FFmpeg by default, so you have two practical paths:
Option 1: Manual installation
- Download a pre-built FFmpeg binary from a trusted source (such as gyan.dev or BtbN's GitHub releases — these are the community-recommended build providers).
- Extract the downloaded
.zipfile to a permanent location, such asC:ffmpeg. - Add the
binfolder inside that directory to your system's PATH environment variable.- Search for "Environment Variables" in the Start menu
- Under System Variables, find and edit
Path - Add the full path to the
binfolder (e.g.,C:ffmpegin)
- Open a new Command Prompt window and type
ffmpeg -versionto confirm it's working.
Option 2: Package managers If you use Winget (built into modern Windows 10/11) or Chocolatey, installation is a single command:
- Winget:
winget install ffmpeg - Chocolatey:
choco install ffmpeg
Package managers handle the PATH setup automatically, which is why many developers prefer them.
Installing FFmpeg on macOS 🍎
The cleanest approach on macOS is using Homebrew, the widely used package manager for Mac:
brew install ffmpeg That single command downloads the latest stable build, installs its dependencies, and configures your PATH. Once complete, ffmpeg -version in Terminal should return build information.
If you don't have Homebrew installed, you can get it from brew.sh — installation takes about two minutes and opens up easy installation for hundreds of other developer tools as well.
Manual installation is also possible on macOS (downloading a static build and moving it to /usr/local/bin), but Homebrew is generally easier to maintain and update.
Installing FFmpeg on Linux
On most Linux distributions, FFmpeg is available directly through the system's native package manager:
| Distribution | Command |
|---|---|
| Ubuntu / Debian | sudo apt install ffmpeg |
| Fedora | sudo dnf install ffmpeg |
| Arch Linux | sudo pacman -S ffmpeg |
| openSUSE | sudo zypper install ffmpeg |
On Ubuntu specifically, you may need to enable the universe repository first if FFmpeg isn't found. On Fedora, FFmpeg is available through the RPM Fusion repository rather than the default repos — which requires a one-time repo setup step before the install command works.
After installation, verify with ffmpeg -version.
What "Build Configuration" Means for Your Use Case
When you run ffmpeg -version, you'll notice a long list of --enable- flags. These indicate which codecs, encoders, and libraries were compiled into that particular build. This matters more than most people realize.
A standard package manager build includes most common codecs, but some builds exclude certain proprietary or patent-encumbered formats. If you need to work with specific codecs — such as libfdk_aac for high-quality AAC encoding, or NVENC for NVIDIA GPU-accelerated encoding — you may need a custom build that explicitly includes them.
This is one of the main reasons experienced users sometimes compile FFmpeg from source rather than using pre-built binaries, though that process is significantly more complex.
After Installation: Confirming Everything Works
Regardless of platform, these two commands confirm a healthy install:
ffmpeg -version— shows version number and build configurationffmpeg -codecs— lists every codec available in your build
If either command returns a "not found" error, the most common cause is that the binary's location isn't in your system's PATH — revisiting that step resolves it in most cases.
The Variables That Shape Your Experience
FFmpeg installation is rarely one-size-fits-all because several factors influence which approach makes the most sense:
- Operating system and version — older OS versions may have limited package manager support or require different dependency chains
- Intended use — casual format conversion needs a simple standard build; GPU-accelerated transcoding or professional broadcast workflows may need specific compile flags
- Technical comfort level — package managers are lower friction; manual installation gives more control over build location and version
- Existing tooling — developers who already use Homebrew, Chocolatey, or a Linux package manager can fold FFmpeg installation into familiar workflows
The "right" installation method for a hobbyist converting home videos is genuinely different from what a developer embedding FFmpeg into a production pipeline needs to consider — and that gap is really only bridgeable by looking at your own setup.