FFmpeg affine le contrôle de la normalisation sonore via loudnorm
Les développeurs travaillant sur des pipelines de production vidéo accèdent à une évolution technique dans FFmpeg qui affine la gestion des niveaux sonores. La modification du fichier af_loudnorm.c dans la branche n7.1 de FFmpeg indique un travail sur le filtre de normalisation sonore, un élément essentiel pour garantir la cohérence des contenus distribués. Il ne s’agit pas d’une refonte radicale, mais plutôt d’un approfondissement des mécanismes internes du traitement audio.
Ce filtre, loudnorm, est central dans les workflows où la conformité aux normes de diffusion est impérative. Il permet de mesurer et d’ajuster le niveau intégré (LUFS), le pic réel (True Peak, dBTP) et la plage de dynamique (LRA) d’un fichier audio. Cette précision est nécessaire quand on doit livrer un contenu en ligne à un niveau cible de -14 LUFS, ou pour la diffusion, en respectant les exigences de l’EBU R 128, qui utilise -23 LUFS.
Le besoin de cette précision vient du constat que, même si un encodeur s’arrête avec succès, le rendu final peut contenir des anomalies audios indétectables par les seuls codes de sortie. Un pipeline de livraison automatisé, par exemple, ne suffit pas à garantir la qualité si les métriques sonores sont hors cible. Des outils exploitant FFmpeg utilisent déjà cette fonctionnalité pour transformer chaque spécification de livraison en un test automatisé, vérifiant notamment les niveaux sonores mesurés via le filtre loudnorm.

L’implémentation dans FFmpeg gère des états complexes pour le traitement. On distingue des états comme FIRST_FRAME, INNER_FRAME, et FINAL_FRAME, en plus des modes de fonctionnement comme LINEAR_MODE. Un tel raffinement des états, couplé à la gestion d’une structure de contexte (LoudNormContext) riche, montre que l’on consolide des outils de mesure très spécialisés. On retrouve des gestionnaires pour des formats de sortie en JSON, ce qui est parfait pour l’intégration dans des scripts de validation externes, permettant de parser les résultats.
Plutôt que de se fier uniquement à une validation visuelle, l’automatisation peut désormais intégrer des vérifications acoustiques robustes. Par exemple, pour respecter la limite de -1 dBTP permise par l’EBU R 128, le filtre doit non seulement mesurer le pic, mais aussi appliquer une réduction de gain appropriée pour laisser une marge de sécurité face à la compression finale.
Le travail sur les poids (weights) et les deltas (delta) dans la structure de contexte suggère également une amélioration dans la manière dont les moyennes sont calculées sur de longues séquences audio. Il y a une modélisation plus fine du temps et de la dynamique sonore. Il faut surveiller comment ces ajustements impactent l’interaction entre le mode linéaire et le traitement par état dans des flux audio très variables.
La complexité ajoutée au cœur de FFmpeg témoigne d’une exigence croissante des industries de la création. On passe d’un simple besoin d’encoder un fichier à une nécessité de garantir sa conformité métrologique avant sa distribution. Il reste à voir comment cette évolution se traduira dans les bibliothèques tierces et les outils d’automatisation qui dépendent de cette fonctionnalité pour s’assurer que le son livré est exactement celui attendu par le diffuseur.
Sources
- FFmpeg/libavfilter/af_loudnorm.c at n7.1 · FFmpeg/FFmpeg, github.com
- Gating Video Renders on Loudness and Format in a Jenkins Pipeline, Jenkins, 2 novembre 2026



