FFmpeg is the backbone of modern video and audio processing. YouTube's transcoding pipeline, VLC's playback engine, Handbrake, Adobe Premiere Pro — they all rely on FFmpeg under the hood. If you work with media files, you'll eventually need it on your machine.
This guide walks through installing FFmpeg 8.0 (the latest major release, August 2025) on Windows, Mac, and Linux, including verification and troubleshooting.
What you'll learn
- Installing FFmpeg on Windows (winget and manual methods)
- Installing via Homebrew on Mac
- Installing on major Linux distros (Ubuntu, Fedora, Rocky, Arch)
- Verifying the install and fixing common issues
What Is FFmpeg?
The name FFmpeg is often said to derive from "Fast Forward" and "MPEG", though there's no official definition. It was created by Fabrice Bellard in the late 1990s and is now maintained by a global open-source community.
It handles encoding, decoding, transcoding, filtering, and streaming for virtually every media format in existence.
When you install FFmpeg, you get three command-line tools:
| Tool | Purpose |
|---|---|
ffmpeg | Convert, encode, and filter video/audio |
ffprobe | Inspect media file metadata (codecs, resolution, bitrate, etc.) |
ffplay | A minimal media player built on FFmpeg |
Installing FFmpeg
Switch to your OS tab below for the relevant instructions.
The easiest way on Windows is winget (Windows Package Manager), which comes pre-installed on Windows 10 (1709+) and Windows 11.
Method 1: Install with winget (Recommended)
Open PowerShell or Command Prompt as Administrator and run:
winget install -e --id Gyan.FFmpeg
This handles downloading, extracting, and PATH configuration automatically. Restart your terminal afterward and verify with ffmpeg -version.
Method 2: Manual install
If winget isn't available (older Windows versions or locked-down corporate machines), install manually.
1. Download the binary
Go to the official download page and click the Windows logo. Two build sources are linked:
| Build source | Notes | Requires |
|---|---|---|
| gyan.dev (recommended) | Frequently updated, fewer antivirus false positives | Essentials: Windows 7+ / Full: Windows 10+ |
| BtbN (GitHub) | MinGW builds, also provides Linux binaries | Windows 10 22H2+ |
Download ffmpeg-release-essentials.zip from gyan.dev.
2. Extract the archive
Choose a path with no spaces:
C:\ffmpeg
After extracting, confirm that the bin folder contains ffmpeg.exe, ffprobe.exe, and ffplay.exe.
3. Add to system PATH
- Press
Win + Sand search for "Edit the system environment variables" - Click Environment Variables
- Under "System variables," find and select Path, then click Edit
- Click New and enter:
C:\ffmpeg\bin
- Click OK on all dialogs to save
- Open a new Command Prompt or PowerShell window
Verifying Your Installation
Regardless of your OS, run:
ffmpeg -version
You should see output like this:
ffmpeg version 8.0 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 14.2.0
configuration: --enable-gpl --enable-version3 ...
libavutil 60. x.100 / 60. x.100
libavcodec 62. x.100 / 62. x.100
Verify that ffprobe and ffplay were installed too:
ffprobe -version
ffplay -version
Example: inspecting a media file with ffprobe
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
This outputs codec, resolution, bitrate, duration, and more in JSON format. Essential for debugging encoding issues.
Building from Source (Advanced)
If you need a newer version than your package manager provides, or want to enable specific codecs, build from source.
If you have WSL (Windows Subsystem for Linux), follow the Linux tab instructions — they work as-is. WSL is the easiest route since dependency management is handled by apt.
For native Windows binaries, you can use MSYS2 — the same toolchain gyan.dev uses for their official builds. Install it from msys2.org and run the following in the MINGW64 shell:
pacman -Syu
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-yasm mingw-w64-x86_64-nasm \
mingw-w64-x86_64-pkg-config mingw-w64-x86_64-libx264 mingw-w64-x86_64-libx265
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout n8.0.1
./configure --prefix=/usr/local \
--enable-gpl --enable-libx264 --enable-libx265
make -j$(nproc)
make install
For redistributable builds with specific license requirements, see the dedicated guide:
- FFmpeg Commercial License Guide — GPL vs LGPL, what to include when redistributing
Troubleshooting Common Issues
"ffmpeg is not recognized" (Windows)
This is almost always a PATH issue.
| Cause | Fix |
|---|---|
Added C:\ffmpeg instead of C:\ffmpeg\bin | Change PATH to C:\ffmpeg\bin |
| Trailing space in the path | Remove the space |
| Didn't restart the terminal | Open a new terminal window |
| Added to User variables instead of System variables | Move it to System PATH |
Outdated version (Linux)
Ubuntu's default repos often have older FFmpeg versions. Your options:
- Build from source — see the section above
- Install via Snap —
sudo snap install ffmpeg(note: Snap's sandboxing may limit access from other apps) - Use a third-party PPA — such as
ppa:ubuntuhandbook1/ffmpeg
Multiple versions conflicting (Mac / Linux)
which ffmpeg
This shows which FFmpeg binary is being used. If you have both /usr/local/bin/ffmpeg and /usr/bin/ffmpeg, the one found first in PATH wins. Remove the one you don't need, or use the full path to call a specific version.
Wrapping Up
Installing FFmpeg takes just a few minutes with any package manager.
| Platform | Recommended command |
|---|---|
| Windows | winget install -e --id Gyan.FFmpeg |
| Mac | brew install ffmpeg |
| Ubuntu / Debian | sudo apt install ffmpeg |
| Fedora | Add RPM Fusion, then sudo dnf install ffmpeg |
| Arch Linux | sudo pacman -S ffmpeg |
Once ffmpeg -version prints version information, you're ready to go.
To get started with FFmpeg, check out the GPU encoding guide for dramatically faster encode times: