Super User Asked on December 18, 2020
I wrote this about a year ago while working through my own way trying to compile a FFmpeg for Windows, based on the premise in the FFmpeg wiki that:
The Fraunhofer FDK AAC codec library. This is currently the highest-quality AAC encoder available with ffmpeg. Requires ffmpeg to be configured with –enable-libfdk-aac (and additionally –enable-nonfree if you’re also using –enable-gpl).
and…
The native FFmpeg AAC encoder. This is currently the second highest-quality AAC encoder available in FFmpeg and does not require an external library like the other AAC encoders described here. This is the default AAC encoder.
However, recently attempting to build FFmpeg with the media-autobuild_suite showed the following when presented with the FDK-AAC build option:
Build FDK-AAC library and binary? [AAC-LC/HE/HEv2 codec]
1 = Yes
2 = No
Note: FFmpeg's aac encoder is no longer experimental and considered equal or
better in quality from 96kbps and above. It still doesn't support AAC-HE/HEv2
so if you need that or want better quality at lower bitrates than 96kbps,
use FDK-AAC.
However, this third-party tool is the only reference I can find to the claim that FFmpeg’s default AAC encoder is now superior to FDK-AAC, and the relevant FFmpeg wiki page itself remains unchanged. Is this true, and if so, what was the source for this information?
There have not been many improvements to the native FFmpeg AAC encoder since the flurry of activity in 2015-2016. The biggest change since then is use the fast coder as the default in early 2018.
The best way find out which is better is by personally performing a rigorous, blind test. Some recent examples:
Source: Personal Listening Test of AAC-LC and xHE-AAC at 96kbps and 128kbps by Kamedo2 (2020-09-12)
Source: Personal Blind Listening Test of AAC at 128 kbps (six encoders & 105 samples) by guruboolez (2020-10-17)
As you can see both listeners on average rated FDK better than FFmpeg AAC. However, keep in mind that:
ffmpeg
(For those not aware libfdk_aac is considered non-free and not compatible with the GPL, so you won't find many pre-built ffmpeg
with libfdk_aac support. So that is why you must compile.)Personally, for MP4 video files I often just use the native FFmpeg AAC encoder because it's good enough to me for most consumer content; most of which is being watched on phones anyway (horizontal video in portrait mode of course) with the viewer half occupied by texting, Instagram, and cat photos.
Just give a somewhat higher bitrate compared to libfdk_aac.
The source was originally on the FFmpeg Codecs Documentation for the AAC encoder. If I recall correctly is was made by one of the developers who greatly improved the encoder. It was probably a result of enthusiasm and unintentional bias mixed with a small testing sample size (I'm sympathetic as I've made similar mistakes not related to this topic).
Correct answer by llogan on December 18, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP