By default most (if not all) ffmpeg versions, don't include the libfdk-aac library (which is required to encode with the Fraunhofer FDK AAC codec).
The operating system for this test will be Arch linux, since is very flexible regarding the installation of different programs, from either source code or binaries.
There are several ffmpeg packages tha will run in Arch linux:
- ffmpeg 2:6.0-8 from extra repositories. This is a binary already, so installs right aways without any compilation, it's the fastest way to get the "official" ffmpeg for Arch. This version is only available in x86_64 architecture. The downside is that this version does not include the libfdk-aac library, so there's no use for this case.
- ffmpeg-full and ffmpeg-full-git from AUR. These versions must be compiled from source code, but they include all possible features, including libfdk-aac. The downside of these versions, is that for lots of people, the compilation fails due to nvcc missing (which was also my case, and didn't want to bother fixing it).
- ffmpeg-libfdk_aac 1:6.0-2 from AUR. This package also must be compiled from source code, but contains just the needed library and compilation was successful at first try without any hassle, so it's the version I'll be using. The downside of this version is that can be a little outdated compared to the very latest version.
- Handbrake-and-FFmpeg-with-fdk-aac binary builds by FT129. Search for latest build, for example FFMpeg 5.1.2 Linux with fdk and download desired binaries: ffmpeg, ffprobe, ffplay. Then set them with "chmod +x". These run right away since are binaries and are compiled statically. The version is a little bit outdated but gets the job done. It has also precompiles binaries for Microsoft Windows: FFMpeg 4.4 with fdk (which you can run with WINE in GNU/Linux and macOS), so I could say these are multi-platform.
- Gyan's Windows builds. Search for "-full" builds, either "-git-" or "-release-". Although these builds are native for Windows x86-64, they run perfectly through WINE (which is available for both GNU/Linux and macOS). These versions don't have the libfdk-aac library.
How to check if your version of ffmpeg has the libfdk-aac library:
ffmpeg -version | grep --color 'fdk'
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-openssl --enable-shared --enable-vaapi --enable-version3 --enable-vulkan --enable-libfdk_aac --enable-nonfree
If there's no output it's that doesn't have it. Anyway the portion when it's there should be highlighted.
This is the full version output for ffmpeg-libfdk_aac:
ffmpeg -version
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.1.1 (GCC) 20230429
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-openssl --enable-shared --enable-vaapi --enable-version3 --enable-vulkan --enable-libfdk_aac --enable-nonfree
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
This is the full version output from FT129's version:
./ffmpeg -version
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
configuration: --enable-nonfree --enable-gpl --enable-openssl --enable-libsvtav1 --enable-libx264 --enable-libx265 --enable-libvpx --enable-libxvid --enable-libvidstab --enable-libaom --enable-libzimg --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libtheora --enable-libfdk-aac --enable-libwebp --enable-libsrt --enable-amf --disable-debug --disable-doc --disable-shared --enable-pthreads --enable-static --enable-small --enable-version3 --extra-cflags=-I/home/foxli/ffmpeg_new/workspace/include --extra-ldexeflags=-static --extra-ldflags=-L/home/foxli/ffmpeg_new/workspace/lib --extra-libs='-ldl -lpthread -lm -lz' --pkgconfigdir=/home/foxli/ffmpeg_new/workspace/lib/pkgconfig --pkg-config-flags=--static --prefix=/home/foxli/ffmpeg_new/workspace --extra-version=
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
This is the full version from Gyan's full release version:
wine ffmpeg.exe -version
ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enab
le-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-
libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --ena
ble-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --
enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
As you can see, Gyan builds don't have the libfdk-aac library, so not valid in this case.
Links and references:
- Handbrake and FFmpeg with fdk aac by FT129
- FFmpeg Builds binaries for Windows
- FFmpeg with libfdk_aac for Windows x64
- libfdk_aac
- install_ffmpeg_libfdkaac.sh
- How to build ffmpeg with libfdk_aac in 64-bit Windows? [closed]
- FFmpeg / Encode / AAC
- Compile ffmpeg with libfdk_aac support: encoding AAC with ffmpeg
- Converting Audio to AAC using ffmpeg
- How to encode audio in AAC-LC, AAC-HE-V1, AAC-HE-V2 using libavcodec?
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.