Install FFmpeg on Windows, macOS & Linux in one click

5 min read Original article ↗

Download FFmpeg
Get your build in seconds

1

Operating system

2

Architecture

3

Linking

Static (best for common use cases) bakes FFmpeg's own libav* libraries into a single ffmpeg binary. Shared keeps ffmpeg libs as separate files in the same directory; fully-static bakes glibc into the ffmpeg binary too. More on linking →

4

License

GPL (most commonly used) - your source code needs to be open source.
LGPL - your source code can be closed source.
Non-free cannot be distributed without a paid commercial license. More on licensing →

5

Version

FFmpeg follows MAJOR.MINOR.PATCH (e.g. 8.1.1). MAJOR brings breaking changes; MINOR adds backwards-compatible features; PATCH is bug-fix only. More on versions →

6

Provider

Providers ship slightly different codec and hardware-acceleration sets even at the same FFmpeg version. The delta below auto-computes from the catalog. we auto-pick the best match for your OS & arch

Download

This URL floats and always points to the latest Main-branch build.

FFmpeg 7.1.1 — Windows x86_64 GPL Static · gyan.dev Full expires:

Main branch build · not a versioned release Main builds are unversioned snapshots of FFmpeg's main branch — the branch every tagged release is cut from. Each provider rebuilds from a different point in time, so commits differ between providers. Commit # in master,

build date: size: format: sha256: contains:

Provider Homepage:gyan.dev original commit: FFmpeg version:

Plugins

Show plugins compiled in this build Hide plugins compiled in this build

hover a plugin for details

Set up FFmpeg

Safe to pin in your pipeline — this URL stays valid forever, even if the provider deletes the original.

Main-branch build — this URL changes when a new trunk snapshot ships. Pin a versioned URL above if your pipeline needs reproducibility.

  • .sha256 — checksum (verified, fails on mismatch).
  • .info — version + commit (printed to the log).
Verify the download

3

Inspect this build

ffmpeg -buildconf      # build flags (--enable-*) — what's compiled in
ffmpeg -codecs         # all supported codecs (decode + encode)
ffmpeg -encoders       # encoders only (libx264, nvenc, libsvtav1, …)
ffmpeg -decoders       # decoders only
ffmpeg -hwaccels       # hardware (CPU/GPU) accel paths (cuda, qsv, vaapi, videotoolbox)
ffmpeg -filters        # video / audio filters
ffmpeg -formats        # supported container formats
ffmpeg -protocols      # supported input / output protocols

These flags ask FFmpeg itself what's available — handy when you're not sure if a build ships a codec or hwaccel you need. Pipe through grep to find one fast (e.g. ffmpeg -encoders | grep nvenc).

Generate a GIF preview from the first 60 seconds of a sample video.

5

Useful FFmpeg commands

Browse our FFmpeg cheat sheet ↗ — a curated, copy-paste collection of commands for video automation: format conversion, trimming, audio mixing, jump cuts, GIFs, thumbnails, Ken Burns effects, GPU encoding, and more. Every example uses publicly accessible sample files and runs locally as-is.

FFmpeg binaries explained

Plain-language reference for every option in the picker.

GPL vs LGPL vs non-free

GPL: Your source code needs to be open source. The license most prebuilt FFmpeg binaries ship under. Bundles x264 / x265 (most commonly used encoders) but forces distributing apps to be GPL too. Distributing new code built on top of GPL-licensed code requires the new code to be under GPL and the source code to be available. You are allowed to use the FFmpeg binaries as-is in your own application as long as you don't distribute the software. FFmpeg's legal page puts it plainly: "FFmpeg incorporates several optional parts and optimizations that are covered by the GNU General Public License (GPL) version 2 or later. If those parts get used the GPL applies to all of FFmpeg."

LGPL: Your source code can be closed source. The license for FFmpeg's own libraries (libav*) — see the LGPL v2.1 text. Drops the common GPL plugins and encoders. You can bundle it into closed-source or commercial software without releasing your own source code. For full details see the "License Compliance Checklist" section in FFmpeg's legal page.

Non-free: These builds pull in libraries whose licenses are incompatible with the GPL and require a paid commercial license to distribute.

See FFmpeg's legal page for the canonical reference.

* The above is not legal advice — verify each license against your specific use case before distributing.

Static vs Shared vs Fully-static linking

Static bakes FFmpeg's own libav* libraries into a single ffmpeg binary, but the binary still dynamically links system libraries (libc, CRT, etc.).

Shared keeps libav* as separate .dll / .dylib / .so files shipped alongside ffmpeg — useful when you want to embed FFmpeg into your own app or share libs across multiple tools.

Fully-static (johnvansickle's Linux flavor) statically links everything including glibc — the binary runs on kernels without caring about system library versions. Used mostly for embedded and very lean systems.

Versions

FFmpeg follows MAJOR.MINOR.PATCH (e.g. 8.1.1). MAJOR brings breaking changes, MINOR adds backwards-compatible features, PATCH is bug-fix only. A new MAJOR ships roughly every six months. For production, pin MAJOR.MINOR and let PATCH float. Pick latest-git only when you need bleeding-edge codecs or recent fixes — it's unstable, but the exact source commit appears below the Download CTA so the build is reproducible.

Custom FFmpeg builds, on demand

Reproducible, signed FFmpeg builds compiled to your license profile, delivered with the full build manifest so you can audit every flag.