FFmpeg (GPL static variant, 6.1 release branch) logo

FFmpeg (GPL static variant, 6.1 release branch) BtbN

Use this command to install FFmpeg (GPL static variant, 6.1 release branch):
winget install --id=BtbN.FFmpeg.GPL.6.1 -e

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. A static FFmpeg build from BtbN based on the 6.1 release branch with all dependencies, even those that require full GPL instead of just LGPL.

FFmpeg is a leading multimedia framework designed to decode, encode, transcode, mux, demux, stream, filter, and play various media formats. This static build from BtbN, based on the 6.1 release branch, includes all necessary dependencies, ensuring seamless functionality across supported platforms.

Key Features:

  • Versatile Format Support: Handles a wide array of media formats, ranging from obscure ancient types to modern cutting-edge standards.
  • Comprehensive Media Processing: Capable of performing tasks such as streaming and filtering, making it suitable for diverse multimedia projects.
  • Static Build Inclusion: Comes with all dependencies pre-installed, eliminating the need for additional installations or configurations.

Audience & Benefits: FFmpeg is ideal for developers, multimedia professionals, content creators, and anyone requiring robust media processing solutions. It enhances efficiency by simplifying complex media operations, enabling users to focus on creativity and project delivery without technical hindrances. Installation is straightforward via winget, ensuring quick setup and immediate productivity.

README

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 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.28, linux>=4.18)
  • linuxarm64 (arm64 (aarch64) Linux, glibc>=2.28, linux>=4.18)

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/5.0/5.1/6.0/6.1/7.0 to build from the respective 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)
Versions
6.1.2-20250430
6.1.2-20250331
6.1.2-20250228
6.1.2-20250131
6.1.2-20241231
6.1.2-20241130
6.1.2-20241031
6.1.2-20240930
Website
License