diff --git a/Dockerfile b/Dockerfile index d2091dd8e..654bb8ad0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,7 +23,11 @@ RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -ldflags "-extldflag # Create the image by copying the result of the build into a new alpine image FROM alpine:3.21.2 -RUN apk update && apk add --no-cache ffmpeg ffmpeg-libs ca-certificates && update-ca-certificates +RUN apk update && apk add --no-cache ca-certificates && update-ca-certificates + +# Import a copy of ffmpeg with libfdk_aac included from a separate image +COPY --from=my-ffmpeg-static:latest /ffmpeg /usr/bin/ +COPY --from=my-ffmpeg-static:latest /ffprobe /usr/bin/ RUN addgroup -g 101 -S owncast && adduser -u 101 -S owncast -G owncast diff --git a/core/transcoder/transcoder.go b/core/transcoder/transcoder.go index 36a5587a7..b2a0095d8 100644 --- a/core/transcoder/transcoder.go +++ b/core/transcoder/transcoder.go @@ -415,8 +415,8 @@ func (v *HLSVariant) getAudioQualityString() string { return fmt.Sprintf("-map a:0? -c:a:%d copy", v.index) } - // libfdk_aac is not a part of every ffmpeg install, so use "aac" instead - encoderCodec := "aac" + // libfdk_aac is part of my ffmpeg install, so use it instead of "aac" + encoderCodec := "libfdk_aac" return fmt.Sprintf("-map a:0? -c:a:%d %s -b:a:%d %s", v.index, encoderCodec, v.index, v.audioBitrate) }