How to Install FFmpeg on Windows, Mac, and Linux
FFmpeg is one of the most powerful open-source multimedia tools available — a command-line framework capable of recording, converting, and streaming audio and video in virtually any format. It's the engine behind countless streaming apps, video editors, and media servers. But because it isn't a traditional install-and-click application, getting it running correctly depends heavily on your operating system, technical comfort level, and intended use.
Here's a clear walkthrough of how FFmpeg installation works across major platforms, plus the variables that affect how smooth — or complicated — the process gets.
What FFmpeg Actually Is (And Why Installation Differs)
FFmpeg isn't a GUI app you download from an app store. It's a command-line tool — a set of executables you call from your terminal or command prompt. On some operating systems, it integrates neatly into package managers. On others, you download pre-built binaries and manually tell your system where to find them.
This distinction matters because the "installation" experience varies dramatically depending on your OS, your version of that OS, and whether you're comfortable working in a terminal.
Installing FFmpeg on Windows 🖥️
Windows doesn't include a native package manager by default, which means there are a few different paths:
Option 1: Using winget (Windows Package Manager)
If you're on Windows 10 or 11 with winget available, this is the simplest method:
winget install ffmpeg This handles the download and PATH configuration automatically.
Option 2: Manual Binary Installation
- Download a pre-built FFmpeg binary from the official FFmpeg website (ffmpeg.org) — choose a "full" or "essentials" build depending on your needs.
- Extract the zip file to a permanent location (e.g.,
C:ffmpeg). - Add the
binfolder to your System PATH via Environment Variables in System Settings. - Open a new Command Prompt and run
ffmpeg -versionto confirm it's working.
Option 3: Using Chocolatey or Scoop
If you use a third-party Windows package manager like Chocolatey or Scoop, you can install FFmpeg with a single command:
- Chocolatey:
choco install ffmpeg - Scoop:
scoop install ffmpeg
These tools also handle PATH setup automatically.
Where Windows users trip up: Forgetting to add the binary location to the PATH, or closing and reopening the terminal before the changes take effect.
Installing FFmpeg on macOS 🍎
Mac users have the smoothest experience thanks to Homebrew, the widely used macOS package manager.
Using Homebrew (Recommended)
If Homebrew is already installed:
brew install ffmpeg That's it. Homebrew resolves dependencies, sets up the PATH, and installs the latest stable version. If you need additional codec support (like AAC, x265, or libvpx), you can pass options at install time — Homebrew's documentation covers these flags clearly.
Without Homebrew
You can download pre-built macOS binaries from ffmpeg.org, then manually move them to /usr/local/bin and adjust permissions with chmod. This approach works but is more hands-on.
macOS version matters: Older macOS versions may require older Homebrew or binary builds. Apple Silicon (M1/M2/M3) Macs use a different Homebrew installation path (/opt/homebrew) than Intel Macs (/usr/local), which can affect how shell profiles find the executable.
Installing FFmpeg on Linux
Linux installation is generally the most straightforward because most distributions ship FFmpeg in their official repositories.
Debian/Ubuntu-based Systems
sudo apt update sudo apt install ffmpeg Fedora/RHEL-based Systems
FFmpeg isn't in the default Fedora repos due to codec licensing, but it's available through RPM Fusion:
sudo dnf install ffmpeg (after enabling RPM Fusion free repository)
Arch Linux
sudo pacman -S ffmpeg Codec availability varies by distribution. Ubuntu's default FFmpeg build may exclude certain proprietary codecs. If you need full H.264, H.265, or AAC support, you may need to install ffmpeg from a PPA like jonathonf/ffmpeg or compile from source.
Verifying the Installation
Regardless of platform, the confirmation step is the same. Open your terminal and run:
ffmpeg -version A successful install returns the FFmpeg version number, build configuration, and enabled libraries. If you see a "command not found" error, the issue is almost always PATH configuration — the system can't locate the executable even though it's been downloaded.
Key Variables That Affect Your Installation Experience
| Variable | Why It Matters |
|---|---|
| Operating system & version | Determines available package managers and binary compatibility |
| CPU architecture | ARM (Apple Silicon, Raspberry Pi) vs. x86 requires different builds |
| Required codecs | Some distributions omit proprietary codecs; custom builds add them |
| Terminal familiarity | PATH setup and permission errors are harder to debug without CLI experience |
| Use case | Streaming, transcoding, or scripting may need different compile flags |
Compiling From Source
Advanced users — particularly those building custom streaming pipelines or needing specific codec combinations — sometimes compile FFmpeg from source. This gives maximum control over which libraries are included but requires a working build environment (GCC or Clang, CMake, and various development libraries). The FFmpeg compilation guide on the official wiki covers this in detail. It's not necessary for most users, but the option exists.
The right installation method for you depends on which platform you're on, what you need FFmpeg to actually do, and how comfortable you are with the command line. Those three factors alone can point toward entirely different setup paths — and sometimes different builds of FFmpeg itself.