FFmpeg-Builds README

The project's README from github.com/BtbN/FFmpeg-Builds. As one markdown file: README.md.

FFmpeg Static Auto-Builds

Static Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest release branch.

Windows builds are targetting Windows 7 and newer, provided UCRT is installed. The minimum supported version is Windows 10 22H2, no guarantees on anything older.

Linux builds are targetting RHEL/CentOS 8 (glibc-2.28 + linux-4.18) and anything more recent.

Auto-Builds

Builds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success.

Auto-Builds run ONLY for win(arm)64 and linux(arm)64. There are no win32/x86 auto-builds, though you can produce win32 builds yourself following the instructions below.

Release Retention Policy

Package List

For a list of included dependencies check the scripts.d directory. Every file corresponds to its respective package.

How to make a build

Prerequisites

Build Image

Build FFmpeg

On success, the resulting zip file will be in the artifacts subdir.

Targets, Variants and Addins

Available targets:

The linuxarm64 target will not build some dependencies due to lack of arm64 (aarch64) architecture support or cross-compiling restrictions.

Available variants:

All of those can be optionally combined with any combination of addins:

FFmpeg-Builds (BtbN/FFmpeg-Builds)

Searching Database…

What is this?It provides automated static builds of FFmpeg (master and latest release branch) for Windows and Linux, both x86-64 and ARM64, so you do not have to compile FFmpeg yourself.
Is this just prebuilt binaries, or can I build my own custom version too?Both: you can grab the auto-generated release zips directly, or run the included Docker-based scripts to produce your own custom build with a chosen variant and add-ins.
How do I get an FFmpeg build from this project?Download a prebuilt zip from the Releases page for your target, or build it yourself by running './makeimage.sh target variant' to create the Docker image and then './build.sh target variant' to compile; the output zip lands in the artifacts subdir.
Are all target/variant combinations auto-built for me?No, the daily auto-builds only cover win64, winarm64, linux64 and linuxarm64 — win32/x86 builds must be produced manually with the scripts, and the arm64 Linux target skips some dependencies like davs2, xavs2, libmfx and libva due to lack of arm64 support.
Which platforms and architectures does it cover?Windows (x86-64 and ARM64, targeting Windows 7+/10 22H2 with UCRT) and Linux (x86-64 and ARM64, targeting RHEL/CentOS 8 glibc 2.28+).
What is the difference between the gpl, lgpl and nonfree build variants?gpl includes all dependencies, even GPL-only ones; lgpl drops libraries requiring full GPL licensing such as libx264 and libx265; nonfree adds fdk-aac on top of the gpl set. Each also has a '-shared' counterpart that links against shared libav libraries instead of producing pure static executables.
How long are builds kept, and what is the 'latest' build?The last build of each month is retained for two years and the last 14 daily builds are kept; a special 'latest' release provides a stable URL that always points to the newest build.
Can I build an older FFmpeg release instead of master?Yes, you can add a release-branch add-in like 4.4, 5.1, 6.1 or 7.1 to the build command to compile from that branch instead of master.
Should I use the 'debug' or 'lto' add-ins?'debug' keeps debug symbols (adding about 250MB to output size) and 'lto' builds everything with link-time optimization, but LTO is marked highly experimental, broken on Windows and only sometimes working on Linux.
Creator
BtbN
Size
1.7 MB
Stars
11.8K
Age
6y
Commits · 90 Days