wader / static-ffmpeg

Multi-arch docker image with ffmpeg/ffprobe binaries built as hardened static PIE binaries with no external dependencies
https://hub.docker.com/r/mwader/static-ffmpeg/
MIT License
245 stars 60 forks source link

ENABLE_FDKAAC=1 not working #413

Closed zoltak closed 5 months ago

zoltak commented 5 months ago

Building image with: docker build --build-arg ENABLE_FDKAAC=1 . -t my-ffmpeg-static:latest

Then extracting binaries and running, results in no --enable-libfdk-aac: `ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 13.2.1 (Alpine 13.2.1_git20231014) 20231014 configuration: --pkg-config-flags=--static --extra-cflags=-fopenmp --extra-ldflags='-fopenmp -Wl,-z,stack-size=2097152' --toolchain=hardened --disable-debug --disable-shared --disable-ffplay --enable-static --enable-gpl --enable-version3 --enable-fontconfig --enable-gray --enable-iconv --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libdav1d --enable-libdavs2 --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libkvazaar --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librabbitmq --enable-librav1e --enable-librtmp --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openssl --enable-libjxl libavutil 58. 29.100 / 58. 29.100 libavcodec 60. 31.102 / 60. 31.102 libavformat 60. 16.100 / 60. 16.100 libavdevice 60. 3.100 / 60. 3.100 libavfilter 9. 12.100 / 9. 12.100 libswscale 7. 5.100 / 7. 5.100 libswresample 4. 12.100 / 4. 12.100 libpostproc 57. 3.100 / 57. 3.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'`

wader commented 5 months ago

Strange, did this locally with current master:

$ docker build --build-arg ENABLE_FDKAAC=1 . -t my-ffmpeg-static:latest
...
$ docker run --rm my-ffmpeg-static:latest -hide_banner -buildconf | grep -i fdk
    --enable-libfdk-aac
$ docker run --rm my-ffmpeg-static:latest -hide_banner -codecs | grep -i fdk
 DEAIL. aac                  AAC (Advanced Audio Coding) (decoders: aac aac_fixed libfdk_aac) (encoders: aac libfdk_aac)

Could it be that your looking at the wrong image tag etc?

zoltak commented 5 months ago

Ah I see what I did wrong. To extract the ffmpeg binary from the docker container I ran: docker run --rm -v "$PWD:/out" $(echo -e 'FROM alpine\nCOPY --from=mwader/static-ffmpeg:latest /ff* /\nENTRYPOINT cp /ff* /out' | docker build -q -)

I should have run: docker run --rm -v "$PWD:/out" $(echo -e 'FROM alpine\nCOPY --from=my-ffmpeg-static:latest /ff* /\nENTRYPOINT cp /ff* /out' | docker build -q -)

Thanks for helping me solve this.

wader commented 5 months ago

Aha i see 👍