Go to file
BtbN 1a3257f655 Add ffmpeg 6.0 addin 2023-02-28 15:09:04 +01:00
.github Reduce wait time after deleting old latest release 2022-11-24 13:26:47 +01:00
addins Add ffmpeg 6.0 addin 2023-02-28 15:09:04 +01:00
images Add new python dependency 2022-12-24 15:55:49 +01:00
patches Add aribb24 for ARIB caption support 2022-04-26 01:56:19 +02:00
scripts.d Bump uavs3d 2023-02-23 12:11:23 +01:00
util Make local build script spin up a temporary registry 2022-08-02 20:37:17 +02:00
variants Add support for Linux aarch64 builds 2022-07-06 14:47:59 +02:00
.gitignore Use explicit buildx builder with limited parallelism 2022-07-13 01:25:52 +02:00
LICENSE Update license year 2021-05-18 15:39:22 +02:00
README.md Update README.md 2022-11-06 13:01:12 +01:00
build.sh Fix another use of deprecated set-output 2022-10-26 14:19:55 +02:00
generate.sh Don't bail on missing dockeraddin 2022-11-03 01:41:44 +01:00
makeimage.sh Make local build script spin up a temporary registry 2022-08-02 20:37:17 +02:00

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.

Linux (x86_64) builds are targetting Ubuntu 16.04 (glibc-2.23 + linux-4.4) and anything more recent.

Linux (arm64) builds are targetting Ubuntu 18.04 (glibc-2.27 + linux-4.15) 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 win64 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

  • The last build of each month is kept for two years.
  • The last 14 daily builds are kept.
  • The special "latest" build floats and provides consistent URLs always pointing to the latest build.

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

  • bash
  • docker

Build Image

  • ./makeimage.sh target variant [addin [addin] [addin] ...]

Build FFmpeg

  • ./build.sh target variant [addin [addin] [addin] ...]

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

Targets, Variants and Addins

Available targets:

  • win64 (x86_64 Windows)
  • win32 (x86 Windows)
  • linux64 (x86_64 Linux, glibc>=2.23, linux>=4.4)
  • linuxarm64 (arm64 (aarch64) Linux, glibc>=2.27, linux>=4.15)

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

  • davs2 and xavs2: aarch64 support is broken.
  • libmfx and libva: Library for Intel QSV, so there is no aarch64 support.

Available variants:

  • gpl Includes all dependencies, even those that require full GPL instead of just LGPL.
  • lgpl Lacking libraries that are GPL-only. Most prominently libx264 and libx265.
  • nonfree Includes fdk-aac in addition to all the dependencies of the gpl variant.
  • gpl-shared Same as gpl, but comes with the libav* family of shared libs instead of pure static executables.
  • lgpl-shared Same again, but with the lgpl set of dependencies.
  • nonfree-shared Same again, but with the nonfree set of dependencies.

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

  • 4.4 to build from the 4.4 release branch instead of master.
  • 5.0 to build from the 5.0 release branch instead of master.
  • 5.1 to build from the 5.1 release branch instead of master.
  • debug to not strip debug symbols from the binaries. This increases the output size by about 250MB.
  • lto build all dependencies and ffmpeg with -flto=auto (HIGHLY EXPERIMENTAL, broken for Windows, sometimes works for Linux)