FFmpeg 9.1 ships a new AAC encoder, tuned by ear and CBR-only

FFmpeg 9.1 landed a brand-new native AAC encoder, hand-tuned by its author's own ears, that aims to retire the fdk-aac and Apple Core Audio encoders people have leaned on for years. It comes with two loud asterisks: it is CBR-only and built for 48kHz.

In brief

The new encoder even ships a deliberate workaround: its author found FFmpeg's own AAC decoder mishandles stereo PNS, so the encoder compensates to keep playback correct.

It is constant-bitrate only and tuned for 48kHz, with 44.1kHz and 96kHz working but discouraged.

The catch skeptics keep raising: on the same benchmark, Opus beats every AAC encoder even at 64 kbps.

A hand-tuned encoder with a decoder bug baked in

FFmpeg 9.1 shipped a brand-new native AAC encoder, and the goal is to make the external encoders people have relied on for years, fdk-aac and Apple's Core Audio, unnecessary. Unusually, it was tuned largely by its author's own ears rather than by chasing a single metric.

One decision is a workaround for a bug the author found in the decoder. As the encoder's author, quoted in the thread explained:

"FFmpeg's AAC DEcoder is busted with regards to stereo PNS, and the bug may be in other AAC decoders too, so we work around it in the encoder. Since no other encoder used PNS, the bug was not found until now."

The other headline decision is sampling rate. The author, again quoted in the thread, was characteristically blunt:

"The encoder was mainly optimized for 48Khz audio. Get over it. It's 2026, resampling is free, 48Khz is the standard. 44.1Khz will work, and so will 96Khz but use 48Khz if you want the best quality."

The encoder is also constant-bitrate only, with no quality-based variable bitrate.

Finally ditch Core Audio, or just use Opus?

The enthusiasts want to retire their workarounds. Someone who runs A/B/X codec comparisons laid out why the old encoder was a problem and what a good replacement would fix:

"a 320kbps MP3 sounds better than a 320kbps AAC encoded by FFmpeg, but about the same as a 256kbps AAC encoded by Core Audio."

The skeptics see a problem for music libraries. A commenter who works with CD-sourced audio called the sampling choice a real miss:

"since all of the CD audio in the world is at 44.1k sampling, that seems like a huge miss too."

The sharpest reframing came from a developer reading the benchmark's Opus results, who grants the exercise is worthwhile yet points to what the numbers really show:

"It simply blows all the AAC encoders out of the water even at 64 kbps."

The irony writes itself: the best advertisement for a better AAC encoder may be how far ahead a non-AAC codec already is.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 19 of 24 Read more
🚀Tech

Apple's Hide My Email leaked users' real addresses for over a year

A researcher hands you a brand-new Hide My Email alias. Minutes later he reads back the real iCloud address it was supposed to hide. EasyOptOuts says Apple has known about the flaw for more than a year.

★ 247 · 💬 68 · easyoptouts.com · 2 min