The Core-FFmpeg bundle uses Docker's multi-stage process so that FFmpeg and the Core can be updated and maintained independently.
When building the Core-FFmpeg bundle, an FFmpeg image is used. The previously created Golang libraries and folder structures are copied into this image.
This process speeds up the creation of the final Core-FFmpeg bundle, as existing or previously created images can be used, and compiling all the code is no longer required.
The following base images are available:
docker.io/datarhei/base:alpine-ffmpeg-latest
docker.io/datarhei/base:alpine-ffmpeg-rpi-latest
docker.io/datarhei/base:ubuntu-ffmpeg-cuda-latest
docker.io/datarhei/base:ubuntu-ffmpeg-vaapi-latest
docker.io/datarhei/base:alpine-core-latest
docker.io/datarhei/base:ubuntu-core-latest
Specific versions are available on the Docker website:
Dockerfile without --disable-debug and --disable-doc.
Arguments:
default Dockerfile: Dockerfile.alpine Image name: datarhei/base:alpine-ffmpeg-latest
rpi Dockerfile: Dockerfile.alpine.rpi Image name: datarhei/base:alpine-ffmpeg-rpi-latest
cuda Dockerfile: Dockerfile.ubuntu.cuda Image name: datarhei/base:ubuntu-ffmpeg-cuda-latest
vaapi Dockerfile: Dockerfile.ubuntu.vaapi Image name: datarhei/base:alpine-ffmpeg-vaapi-latest
You can find the Dockerfile for the bundle (Dockerfile.bundle) in the cloned Core repository.
Docker supports multi-architecture images via --platform linux/amd64,linux/arm64,linux/arm/v7.