Files
ersatztv-ffmpeg/CLAUDE.md
Timothy 7df538e14e
Some checks failed
Build FFmpeg Image / Build amd64 image (push) Has been cancelled
Strip to amd64-only and adapt for Gitea Actions
Remove arm32v7 and arm64 Dockerfiles (only need amd64 for jazz).
Replace GitHub Actions multi-platform workflow with Gitea Actions
workflow targeting Gitea container registry. Add CLAUDE.md project
docs and update README for fork context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 00:13:34 +01:00

1.6 KiB

ErsatzTV FFmpeg

Custom FFmpeg Docker image used as the base for ErsatzTV containers. Forked from ErsatzTV/ErsatzTV-ffmpeg after upstream archival (Feb 2026).

Project Structure

images/linux/amd64/Dockerfile   # The main (and only) Dockerfile
.gitea/workflows/build.yml      # Gitea Actions workflow

How It Works

Single-stage compile of FFmpeg 7.1.1 from source on Ubuntu Noble (ghcr.io/linuxserver/baseimage-ubuntu:noble). The Dockerfile:

  1. Installs build deps + Intel GPU SDK + CUDA toolkit
  2. Compiles ~30 libraries from source (x264, x265, aom, dav1d, libass, etc.)
  3. Compiles FFmpeg with all libraries linked
  4. Copies only runtime artifacts (ffmpeg/ffprobe binaries + shared libs) into a clean runtime stage
  5. Installs runtime GPU drivers (Intel compute-runtime, Mesa, VAAPI/VDPAU/Vulkan)

Library Versions

All pinned via ENV vars at the top of the Dockerfile. To bump a library version, update the corresponding ENV var and rebuild.

Build

# Local build (takes 20-30 minutes)
docker build -f images/linux/amd64/Dockerfile -t ersatztv-ffmpeg:7.1.1 .

Deployment

  • Built image is pushed to Gitea registry as 192.168.1.95:3000/timothy/ersatztv-ffmpeg:7.1.1
  • Referenced by ErsatzTV's docker/Dockerfile as the runtime-base stage
  • Only amd64 — jazz (192.168.1.99) is x86_64

Conventions

  • Keep all library versions pinned and explicit
  • Test FFmpeg binary works before pushing: docker run --rm ersatztv-ffmpeg:7.1.1 -version
  • When bumping FFmpeg or library versions, update RELEASE_VERSION in .gitea/workflows/build.yml