Ouvrir le menu principal

MacGeneration

Recherche

L'encodeur AAC de FFmpeg serait enfin au niveau de celui d'Apple

Pierre Dandumont

vendredi 03 juillet 2026 à 12:55 • 14

Logiciels

Dans le monde des codecs audio, l'AAC (Advanced Audio Coding) est très utilisé. C'est un codec avec des pertes (comme le MP3 et d'autres) mais il offre un excellent compromis entre la qualité audio et le débit. Alors que le FLAC ou l'ALAC (sans pertes) dépassent dans certains cas 1 Mb/s et que le PCM (sans compression) est à 1 440 kb/s (44,1 kHz, 16 bits), l'AAC est considéré comme transparent à l'écoute à 256 kb/s… du moins avec un bon encodeur. Et c'est là que le bât blesse, ils ne se valent pas tous.

Le logo de l'AAC.

Dans des tests en aveugle (type ABX), un encodage à 256 kb/s est considéré comme transparent à l'écoute si les personnes qui écoutent ne peuvent pas déterminer de façon fiable la différence entre le morceau original et sa version compressée. À ce petit jeu, l'encodeur AAC d'Apple (qAAC) est notoirement le meilleur, un peu devant le FDK-AAC (Fraunhofer FDK AAC), qui a le défaut de nécessiter de payer des royalties. Et jusqu'à maintenant, l'encodeur de FFmpeg (FAAC) était considéré comme nettement moins bon, avec des artefacts audio audibles (même ses créateurs l'avouent).

nmr est le nouveau codec. La valeur de gauche doit être la plus basse possible, celle de droite la plus élevée. Le nmr est meilleur que l'encodeur Apple, spécialement sous 256 kb/s.

Bonne nouvelle, c'est a priori terminé : un nouvel encodeur, nommé NMR, a été développé pour la version 9.1 de FFMPEG, et il offre selon son auteur — qui a effectué des tests automatisés — un résultat meilleur que le FDK-AAC et le qAAC d'Apple. Si les résultats se confirment dans des tests indépendants et en aveugle, c'est une bonne nouvelle pour le monde de l'open source mais aussi vos applications (OBS et de nombreux services utilisent la version de FFmpeg) et même les smartphones Android. En effet, l'encodeur FFmpeg est parfois utilisé par les fabricants, notamment pour la compression en Bluetooth.

Les variations de débits vues avec l'encodeur précédent sont visiblement de l'histoire ancienne et le nouveau emploie des fonctions avancées de la norme pour obtenir une excellente qualité. Le seul bémol, qui demandera peut-être des ajustements, est le fait qu'il a été optimisé pour une fréquence d'échantillonnage de 48 kHz — la norme dans le monde de la vidéo et de l'audio en haute définition1 —, alors que de nombreux morceaux sont distribués avec une fréquence d'échantillonnage de 44,1 kHz. Il devrait être intégré dans FFMPEG 9.1 et donc dans les différentes apps qui utilisent la bibliothèque dès qu'elles passeront sur cette version.


  1. On trouve parfois aussi du 96 KHz, qui est un multiple entier de 48 kHz.  ↩︎