diff --git a/transcoder/Dockerfile b/transcoder/Dockerfile index 0e20b140..a316cba8 100644 --- a/transcoder/Dockerfile +++ b/transcoder/Dockerfile @@ -33,11 +33,20 @@ RUN go build -o ./transcoder # we use trixie (debian's testing because ffmpeg on latest is v5 and we need v6) # https://packages.debian.org/bookworm/ffmpeg for version tracking FROM debian:trixie-slim + +# read target arch from buildx or default to amd64 if using legacy builder. +ARG TARGETARCH +ENV TARGETARCH=${TARGETARCH:-amd64} +RUN echo $TARGETARCH RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources -RUN apt-get update \ +RUN set -x && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ + # runtime dependencies ffmpeg libmediainfo-dev \ - vainfo mesa-va-drivers intel-media-va-driver-non-free i965-va-driver-shaders \ + # hwaccel dependencies + vainfo mesa-va-drivers \ + # intel hwaccel dependencies, not available everywhere + $([ " $TARGETARCH" = " amd64" ] && echo "intel-media-va-driver-non-free i965-va-driver-shaders") \ && apt-get clean autoclean -y \ && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* diff --git a/transcoder/Dockerfile.dev b/transcoder/Dockerfile.dev index e2d3abc5..dd6e9992 100644 --- a/transcoder/Dockerfile.dev +++ b/transcoder/Dockerfile.dev @@ -23,6 +23,10 @@ ENV SSL_CERT_DIR=/etc/ssl/certs RUN update-ca-certificates RUN go install github.com/bokwoon95/wgo@latest + +# read target arch from buildx or default to amd64 if using legacy builder. +ARG TARGETARCH +ENV TARGETARCH=${TARGETARCH:-amd64} RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources RUN apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y \ @@ -31,7 +35,9 @@ RUN apt-get update \ # build dependencies libavutil-dev libswscale-dev libmediainfo-dev \ # hwaccel dependencies - vainfo mesa-va-drivers intel-media-va-driver-non-free i965-va-driver-shaders \ + vainfo mesa-va-drivers \ + # intel hwaccel dependencies, not available everywhere + $([ " $TARGETARCH" = " amd64" ] && echo "intel-media-va-driver-non-free i965-va-driver-shaders") \ && apt-get clean autoclean -y \ && apt-get autoremove -y WORKDIR /app diff --git a/transcoder/src/hwaccel.go b/transcoder/src/hwaccel.go index 91096ef8..5b13ccf8 100644 --- a/transcoder/src/hwaccel.go +++ b/transcoder/src/hwaccel.go @@ -69,6 +69,7 @@ func DetectHardwareAccel() HwAccelT { Name: name, DecodeFlags: []string{ "-hwaccel", "qsv", + // "-qsv_device", GetEnvOr("GOTRANSCODER_QSV_RENDERER", "/dev/dri/renderD128"), "-hwaccel_output_format", "qsv", }, EncodeFlags: []string{