Prebuilt, self-contained FFmpeg libraries and binaries for every major platform, in four
license variants — multiple major lines (currently 8.x and 9.x) built in parallel, each
with the whisper.cpp speech-to-text filter
(af_whisper) built in. No network, no external services; every artifact ships the
governing license text and each bundled dependency's license under legal/.
| OS | RIDs |
|---|---|
| Windows | win-x64, win-arm64 |
| Linux (glibc) | linux-x64, linux-arm64, linux-armhf |
| Linux (musl / Alpine) | linux-musl-x64, linux-musl-arm64 |
| macOS | osx-x64, osx-arm64 |
| Android | android-arm64, android-x64 |
| iOS | ios-arm64 (device) + ios-sim-arm64 (simulator), shipped as one .xcframework |
| Mac Catalyst | maccatalyst-arm64 + maccatalyst-x64, fused into one universal slice of that same .xcframework |
Every platform ships dynamic libraries (.dll / .so / .dylib; iOS as a dynamic-framework
.xcframework). The glibc Linux builds are self-contained (old-glibc floor, hwaccel libs
static-linked) so they run on a bare system with no package install; linux-x64 and
linux-arm64 additionally bundle a Vulkan loader, while linux-armhf does not (it has no
Vulkan Whisper backend and reaches any system loader through FFmpeg's dlopen path).
Each platform is built in four cells — pick by family and version:
- Family —
gpladds the x264 + x265 encoders;lgpluses kvazaar for HEVC and omits x264/x265, so linking it doesn't force your app to the GPL. The one exception is the leanios-sim-arm64slice, which carries none of the three software H.26x encoders in any cell. - Version —
v3is(L)GPLv3and may link the Apache-2.0 dependencies (OpenSSL TLS + Vulkan);v2isGPLv2/LGPLv2.1with no Vulkan.lgplv2is the App-Store-safe cell — v3's anti-tivoization terms are incompatible with the Apple App Store, so LGPLv2.1 is the variant you ship to iOS.
Artifact naming: ffmpeg-{version}-{rid}-{gplv3|gplv2|lgplv3|lgplv2}.tar.gz, except the four
Apple mobile RIDs (ios-arm64, ios-sim-arm64, maccatalyst-arm64, maccatalyst-x64), which
are merged into one ffmpeg-{version}-ios-{cell}.tar.gz asset. The two Catalyst RIDs are
lipo-fused into one universal slice, so each xcframework there carries three slices: device,
simulator, and Catalyst.
The TLS backend depends on the cell: OpenSSL on v3 (Linux/Android/Mac Catalyst), GnuTLS on
gplv2, and no TLS at all on lgplv2 (Linux/Android/Mac Catalyst — no LGPLv2.1-compatible
backend exists); Windows uses SChannel and macOS/iOS use SecureTransport in every cell. Mac
Catalyst is the exception among Apple targets — SecureTransport is unavailable there, so it
follows the Linux/Android ladder. See the docs for the full breakdown.
- Install & usage — download, link, and consume per platform, plus the Whisper filter and the development (headers / import-lib) packages.
- Build coverage matrix — every library FFmpeg supports × every platform × license, ✓ where this repo builds it.
- Development — how the builds are produced: the build scripts, CI, and how to add a platform or dependency.
- Security — the security model and how to report an issue.
FFmpeg and its dependencies are licensed under the GNU (L)GPL and various permissive licenses.
Each release artifact carries its effective-license notice and the full text of every bundled
component under legal/ — see the install docs for what to ship.