Skip to content

Commit 5e13081

Browse files
committed
Include VAAPI drivers in Docker image
1 parent 5256fa6 commit 5e13081

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Edit `docker/config/config.local.json` before starting:
4141
- set `server.public_url` if clients reach the proxy through another reverse proxy
4242
- leave `server.debug` as `false` for concise logs, or set it to `true` for detailed diagnostics
4343
- set `transcode.hardware_decode` to `vaapi` on Linux hosts with Intel or AMD `/dev/dri` hardware decode support
44-
- startup will probe VAAPI availability and fall back to software decode if the device or ffmpeg support is missing
44+
- startup will probe VAAPI availability, including device initialization, and fall back to software decode if the device, driver, or ffmpeg support is missing
4545

4646
Update `docker/docker-compose.yml` to mount the local config file if you use `config.local.json`:
4747

@@ -102,7 +102,7 @@ Copy `config.example.json` and change the upstream URL:
102102
Leave `public_url` empty when clients connect directly to EmbyTranscoder. Set it when EmbyTranscoder sits behind another reverse proxy.
103103
Leave `debug` as `false` for concise action-level logs. Set it to `true` when you want detailed `TRACE_SWITCH` and request-level diagnostics.
104104
Set `hardware_decode` to `vaapi` to enable VAAPI hardware decode. The default `hardware_device` is `/dev/dri/renderD128`.
105-
If the device or ffmpeg probe fails, startup falls back to software decode and logs the reason.
105+
If the device, driver, or ffmpeg probe fails, startup falls back to software decode and logs the reason.
106106

107107
## Transcode Lifecycle
108108

docker/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/emby-transcoder ./cmd
1111
FROM public.ecr.aws/docker/library/debian:bookworm-slim
1212

1313
RUN apt-get update \
14-
&& apt-get install -y --no-install-recommends ca-certificates ffmpeg \
14+
&& apt-get install -y --no-install-recommends \
15+
ca-certificates \
16+
ffmpeg \
17+
intel-media-va-driver \
18+
mesa-va-drivers \
19+
vainfo \
1520
&& rm -rf /var/lib/apt/lists/*
1621

1722
WORKDIR /app

docker/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ Edit `config/config.json` before startup, or copy it to `config/config.local.jso
2424
- set `server.public_url` if clients reach the proxy through another reverse proxy
2525
- set `server.debug` to `true` when you need detailed diagnostics
2626
- set `transcode.hardware_decode` to `vaapi` to use Intel or AMD VAAPI hardware decode through `/dev/dri`
27-
- startup probes VAAPI support and falls back to software decode when the device is unavailable or ffmpeg lacks VAAPI
27+
- startup probes VAAPI support, including device initialization, and falls back to software decode when the device, driver, or ffmpeg support is unavailable
28+
- the image includes common Intel and AMD VAAPI userspace drivers plus `vainfo`
2829

2930
For GitHub Actions publishing to Docker Hub, set `DOCKERHUB_USERNAME` and `DOCKERHUB_TOKEN` in the repository secrets.
3031

0 commit comments

Comments
 (0)