FFmpeg 9.1: новый AAC-кодировщик, настроенный на слух и только с постоянным битрейтом
В FFmpeg 9.1 появился совершенно новый встроенный AAC-кодировщик, настроенный вручную на слух самого автора; он метит на замену fdk-aac и Apple Core Audio, на которые годами полагались. Есть две громкие оговорки: только постоянный битрейт и расчёт на 48 кГц.
Новый кодировщик даже везёт с собой намеренный обходной приём: автор обнаружил, что собственный AAC-декодер FFmpeg неправильно обрабатывает стерео-PNS, и кодировщик это компенсирует, чтобы воспроизведение оставалось корректным.
Он работает только с постоянным битрейтом и заточен под 48 кГц; 44,1 кГц и 96 кГц тоже работают, но их не рекомендуют.
Загвоздка, на которую всё указывают скептики: в том же бенчмарке Opus обходит любой AAC-кодировщик даже на 64 кбит/с.
Кодировщик, настроенный на слух, с зашитым багом декодера
В FFmpeg 9.1 появился совершенно новый встроенный AAC-кодировщик, и цель — сделать ненужными внешние кодировщики, на которые годами полагались: fdk-aac и Core Audio от Apple. Необычно то, что настраивали его в основном на слух самого автора, а не в погоне за одной метрикой.
Одно из решений — обходной приём для бага, который автор нашёл в декодере. Как объяснил автор кодировщика, цитируемый в треде:
«AAC-ДЕкодер FFmpeg сломан в части стерео-PNS, и баг может быть и в других AAC-декодерах, поэтому мы обходим его в кодировщике. Раз PNS не использовал ни один другой кодировщик, баг до сих пор не находили.»
Другое заметное решение — частота дискретизации. Автор, снова цитируемый в треде, был по обыкновению резок:
«Кодировщик оптимизировали в основном под звук 48 кГц. Смиритесь. На дворе 2026 год, ресемплинг бесплатен, 48 кГц теперь стандарт. 44,1 кГц будет работать, и 96 кГц тоже, но используйте 48 кГц, если хотите лучшее качество.»
Кодировщик к тому же работает только с постоянным битрейтом, без переменного по качеству.
Наконец бросить Core Audio или просто взять Opus?
Энтузиасты хотят избавиться от своих костылей. Тот, кто проводит A/B/X-сравнения кодеков разложил, почему старый кодировщик был проблемой и что починил бы хороший преемник:
«MP3 на 320 кбит/с звучит лучше, чем AAC на 320 кбит/с в кодировке FFmpeg, но примерно так же, как AAC на 256 кбит/с в кодировке Core Audio.»
Скептики видят проблему для музыкальных библиотек. Комментатор, работающий со звуком с CD назвал выбор частоты настоящим промахом:
«Раз вся CD-музыка в мире оцифрована с 44,1 кГц, это тоже выглядит огромным промахом.»
Самую острую переформулировку дал разработчик, прочитавший результаты Opus в бенчмарке; он признаёт, что затея полезна, но указывает, что на самом деле показывают цифры:
«Он попросту рвёт все AAC-кодировщики в клочья даже на 64 кбит/с.»
Ирония пишет себя сама: лучшей рекламой хорошего AAC-кодировщика может оказаться то, насколько уже вырвался вперёд кодек, который вовсе не AAC.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Hide My Email от Apple больше года раскрывал настоящие адреса пользователей
Исследователь выдаёт вам свежий алиас Hide My Email. Через пару минут он называет настоящий адрес iCloud, который этот алиас должен был скрыть. В EasyOptOuts говорят, что Apple знает о дыре больше года.