Custom Docker images
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:
1. Create a custom FFmpeg image
1.1 Clone the FFmpeg build files
Repository
1.2 Switch to the cloned folder
1.2 Change a Dockerfile
Dockerfile without --disable-debug and --disable-doc.
1.3 Build a custom image
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
2. Create a custom Core image
2.1 Clone the Core build files
Repository
2.2 Switch into the cloned folder
2.3 Build a custom image
3. Create a custom Core-FFmpeg bundle
You can find the Dockerfile for the bundle (Dockerfile.bundle) in the cloned Core repository.
3.1 Build a custom image
Docker supports multi-architecture images via --platform linux/amd64,linux/arm64,linux/arm/v7.
Last updated