Build static FFmpeg Linux binaries for headless/server usage 📡
427
Build static FFmpeg and FFprobe Linux binaries for headless/server usage using Docker. Focused on broadcasting/streaming/transmission use cases.
Current FFmpeg version: v4.4
Built on Ubuntu 20.04 LTS. Weekly automated updates of pre-built Docker image to Docker Hub.
The easiest way to build your static FFmpeg and FFprobe binaries is to use the pre-built Docker image:
docker run --rm -v "$(pwd)"/ffmpeg:/ffmpeg/output paulgalow/ffmpeg-static-headless
The compiled binaries will then be placed in a local folder named ffmpeg.
Alternatively, if you do not like or can't use the pre-built image, you can download this repository and run the following script:
./run-container.sh
The compiled binaries will be placed in a local folder named output.
You can get a shell inside the container by running ./run-container.sh debug to inspect and/or manually run commands inside the container.
For easier development there is also ./run-container.sh dev which bind mounts the build scripts directly into the container rather than copying them in at build-time. This way you can easily make changes to the build scripts locally without having to rebuild the container image.
librtmp has not been updated for more than 10 years and has largely been superseded by a direct RTMP implementation in FFMpeg itself. I also have encountered problems with librtmp myself.
This project is heavily inspired by jrottenberg/ffmpeg and zimbatm/ffmpeg-static. The official FFmpeg compilation guides for Ubuntu and generic setups have also been very helpful.
Please note the resulting libraries and binaries will be unredistributable since they contain code that is incompatible with the GPLv2 and v3. Please refer to FFmpeg's License and Legal Considerations for further information.
Content type
Image
Digest
Size
169.5 MB
Last updated
almost 5 years ago
docker pull paulgalow/ffmpeg-static-headless