2020-09-07 23:57:46 +00:00
# FFmpeg Static Auto-Builds
2021-05-15 17:11:46 +00:00
Static Windows (x86_64) and Linux (x86_64) Builds of ffmpeg master and latest release branch.
2020-09-07 23:57:46 +00:00
2021-05-15 17:11:46 +00:00
Windows builds are targetting Windows 7 and newer.
2022-05-09 22:15:31 +00:00
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.
2021-05-13 01:41:32 +00:00
2020-09-07 23:57:46 +00:00
## Auto-Builds
2021-05-15 17:11:46 +00:00
Builds run daily at 12:00 UTC (or GitHubs idea of that time) and are automatically released on success.
2020-09-07 23:57:46 +00:00
2022-05-09 22:15:31 +00:00
**Auto-Builds run ONLY for win64 and linux64. There are no win32/x86 and linux-arm64/aarch64 auto-builds, though you can produce win32 and linux-arm64 builds yourself following the instructions below.**
2021-10-20 12:01:02 +00:00
2021-01-01 13:42:21 +00:00
### Release Retention Policy
- The last build of each month is kept for two years.
- The last 14 daily builds are kept.
2022-02-01 11:51:24 +00:00
- The special "latest" build floats and provides consistent URLs always pointing to the latest build.
2021-01-01 13:42:21 +00:00
2020-09-07 23:57:46 +00:00
## Package List
For a list of included dependencies check the scripts.d directory.
2020-10-05 05:04:57 +00:00
Every file corresponds to its respective package.
2020-09-27 20:14:36 +00:00
## How to make a build
### Prerequisites
* bash
* docker
### Build Image
2020-09-29 12:25:30 +00:00
* `./makeimage.sh target variant [addins]`
2020-09-27 20:14:36 +00:00
### Build FFmpeg
2020-09-29 12:25:30 +00:00
* `./build.sh target variant [addins]`
2020-09-27 20:14:36 +00:00
On success, the resulting zip file will be in the `artifacts` subdir.
2020-09-29 12:25:30 +00:00
### Targets, Variants and Addins
2021-05-15 17:11:46 +00:00
Available targets:
2021-05-18 14:39:14 +00:00
* `win64` (x86_64 Windows)
* `win32` (x86 Windows)
* `linux64` (x86_64 Linux, glibc>=2.23, linux>=4.4)
2022-05-09 22:15:31 +00:00
* `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.
* `libx11` and dependencies: libx11 and its dependencies don't seem to support cross-compiling.
* `SDL` : Because it depends on libx11.
* `davs2` and `xavs2` : aarch64 support is broken.
* `libmfx` and `libva` : Library for Intel QSV, so there is no aarch64 support.
* `ffplay` binary: Because it depends on libx11 and SDL.
2020-09-29 12:25:30 +00:00
2021-05-15 17:11:46 +00:00
Available:
2021-05-18 14:39:14 +00:00
* `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.
2022-05-09 22:15:31 +00:00
* `nonfree` Includes fdk-aac in addition to all the dependencies of the gpl variant.
2021-05-18 14:39:14 +00:00
* `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.
2022-05-09 22:15:31 +00:00
* `nonfree-shared` Same again, but with the nonfree set of dependencies.
2020-09-29 12:25:30 +00:00
All of those can be optionally combined with any combination of addins.
2021-05-15 17:11:46 +00:00
* `4.4` to build from the 4.4 release branch instead of master.
2022-05-09 22:15:31 +00:00
* `5.0` to build from the 5.0 release branch instead of master.
2021-05-15 17:11:46 +00:00
* `debug` to not strip debug symbols from the binaries. This increases the output size by about 250MB.