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

  1. 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).
  2. Extract the downloaded .zip file to a permanent location, such as C:ffmpeg.
  3. Add the bin folder 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 bin folder (e.g., C:ffmpegin)
  4. Open a new Command Prompt window and type ffmpeg -version to 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:

DistributionCommand
Ubuntu / Debiansudo apt install ffmpeg
Fedorasudo dnf install ffmpeg
Arch Linuxsudo pacman -S ffmpeg
openSUSEsudo 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 configuration
  • ffmpeg -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.