FFmpeg 9.0 « Lei » accélère la vidéo grâce à Vulkan et modernise ses fondations
FFmpeg vient de franchir une nouvelle étape majeure. Publiée le 4 août 2026 sous le nom de code « Lei », la version 9.0 améliore la prise en charge des GPU, ajoute enfin le décodage natif des WebP animés et entreprend un important nettoyage de ses composants historiques. FFmpeg n’est pas toujours visible pour le grand public, mais il joue un rôle essentiel dans la lecture, la conversion, l’enregistrement et la diffusion de contenus audio et vidéo. Des lecteurs comme VLC aux plateformes de transcodage, en passant par de nombreux logiciels de montage, ses bibliothèques sont omniprésentes.
Cette version 9.0 rassemble plus de 2 200 modifications réalisées par plus de 160 contributeurs. Elle renouvelle également les versions majeures de ses sept bibliothèques principales, ce qui entraîne une rupture de compatibilité binaire dont les développeurs devront tenir compte lors de la migration de leurs applications.
Une refonte profonde de la conversion d’images
Le changement le plus important de FFmpeg 9.0 concerne probablement libswscale, la bibliothèque
chargée de redimensionner les images et de convertir les formats de pixels et les espaces colorimétriques.
Son architecture historique, constituée de nombreuses routines spécialisées accumulées pendant près de vingt ans, laisse progressivement place à un système plus modulaire. Chaque conversion est désormais décomposée en opérations élémentaires, comme la lecture des pixels, leur réorganisation, leur mise à l’échelle ou leur empaquetage.
FFmpeg peut ensuite optimiser cette suite d’opérations et sélectionner le moteur d’exécution le plus adapté. Plusieurs backends sont disponibles, dont des implémentations optimisées pour les processeurs x86, les puces ARM utilisant NEON et les GPU compatibles Vulkan.
Cette architecture doit faciliter l’ajout de nouvelles optimisations tout en garantissant des résultats
plus cohérents entre le processeur et la carte graphique. Les nouveaux chemins de conversion restent
toutefois considérés comme expérimentaux et doivent être activés avec l’option
SWS_UNSTABLE. L’ancien système demeure donc utilisé par défaut pour le moment.
Vulkan prend une place toujours plus importante
Vulkan n’est plus seulement utilisé par FFmpeg pour le décodage matériel. Dans cette nouvelle version, l’API graphique sert aussi à exécuter des conversions d’images, des filtres et certains codecs directement sur le GPU.
FFmpeg 9.0 introduit notamment un filtre v360_vulkan, destiné à accélérer la transformation des
projections utilisées pour les vidéos à 360 degrés. Le codec professionnel APV de Samsung bénéficie
également d’un décodeur Vulkan.
Autre évolution technique importante : les shaders Vulkan sont désormais compilés au format SPIR-V pendant la construction de FFmpeg, et non plus à l’exécution. Les applications n’ont donc plus besoin d’embarquer un compilateur GLSL simplement pour utiliser certains filtres. Cette approche doit réduire les dépendances et accélérer leur initialisation.
Les utilisateurs de cartes graphiques AMD et NVIDIA ne sont pas oubliés. AMD AMF gagne notamment un filtre de conversion de fréquence d’images et une meilleure gestion du HDR. Du côté de CUDA, FFmpeg ajoute un filtre de rotation et améliore la prise en charge des formats professionnels 10 et 12 bits.
Les WebP animés enfin correctement décodés
C’est une nouveauté beaucoup plus visible au quotidien : FFmpeg sait maintenant décoder nativement les images WebP animées.
Jusqu’à présent, le logiciel ne récupérait généralement que la première image de l’animation, un problème signalé dès 2015. FFmpeg 9.0 intègre désormais un décodeur complet accompagné de son propre démultiplexeur.
Cette amélioration bénéficiera aux applications qui utilisent FFmpeg pour lire, convertir ou extraire des images depuis des fichiers WebP animés, sans devoir s’appuyer sur une bibliothèque externe.
Une meilleure prise en charge des caméras RAW
FFmpeg poursuit également ses efforts autour des formats vidéo issus de caméras professionnelles.
Le décodeur ProRes RAW, introduit avec FFmpeg 8.0, récupère désormais davantage d’informations contenues dans le flux, notamment la courbe de linéarisation et les paramètres colorimétriques du capteur. Une version accélérée avec Vulkan est disponible, tandis que les appareils Apple peuvent profiter du décodage par VideoToolbox.
Le codec sans perte FFV1 peut de son côté encoder directement des images Bayer, c’est-à-dire les données brutes provenant d’un capteur photo ou vidéo avant l’étape de dématriçage. FFmpeg propose aussi un encodeur et un décodeur FFV1 fonctionnant sur GPU grâce à Vulkan.
Ces fonctions devraient intéresser les professionnels de l’archivage numérique, puisqu’elles permettent de conserver les données originales d’un capteur tout en profitant d’une compression sans perte. Une partie de ces travaux a été soutenue par le Sovereign Tech Fund.
Dolby Vision et HDR mieux gérés
La gestion du HDR progresse elle aussi. FFmpeg 9.0 améliore notamment le traitement du Dolby Vision Profile 7 utilisé sur certains disques Blu-ray Ultra HD.
Un nouveau filtre de flux, baptisé dovi_split, permet de séparer la couche vidéo de base,
la couche d’amélioration et les métadonnées Dolby Vision. FFmpeg peut ensuite conserver ces informations
lors du démultiplexage et du remultiplexage de fichiers MP4, MPEG-TS ou Matroska.
La version 9.0 ajoute également la lecture, l’écriture et le transfert des métadonnées HDR dynamiques SMPTE 2094-50. De nouvelles options permettent par ailleurs de corriger manuellement des métadonnées HDR statiques erronées présentes dans un fichier source.
De nouvelles possibilités pour l’intelligence artificielle
Les filtres DNN de FFmpeg prennent désormais en charge ONNX Runtime, avec une exécution possible par CUDA ou DirectML.
Il devient ainsi plus simple d’intégrer des modèles ONNX dans une chaîne de traitement vidéo. FFmpeg pourra, par exemple, appliquer un modèle de réduction du bruit, de suppression d’arrière-plan ou d’amélioration de la définition directement entre les étapes de décodage et d’encodage.
Cette évolution complète le filtre Whisper apparu dans FFmpeg 8.0 et confirme la volonté du projet d’intégrer davantage de traitements basés sur l’apprentissage automatique dans ses pipelines multimédias.
Des optimisations pour les processeurs modernes
FFmpeg 9.0 comprend près de 200 modifications liées aux optimisations x86 et environ une centaine concernant les architectures ARM.
Plusieurs anciens morceaux de code MMX ont été remplacés par des implémentations SSE2, SSSE3 ou AVX2. Sur ARM, les fonctions NEON chargées de convertir les images YUV vers RGB ont été retravaillées afin de traiter davantage de données en parallèle.
Quelques optimisations RISC-V Vector ont aussi été ajoutées, même si une part importante du travail réalisé sur cette architecture concerne actuellement dav1d, le décodeur AV1 développé par VideoLAN et utilisé par FFmpeg.
Un grand ménage qui peut casser certains scripts
Comme chaque version majeure, FFmpeg 9.0 supprime plusieurs fonctions et options devenues obsolètes.
L’ancienne option -vsync disparaît définitivement au profit de -fps_mode.
Les options -top, -qphist, -filter_complex_script et
-adrift_threshold ont également été retirées.
Les filtres dépendant de NVIDIA Performance Primitives, comme scale_npp ou
transpose_npp, ne sont plus disponibles. Certaines fonctions historiques de NVENC et les
anciens encodeurs OpenMAX disparaissent eux aussi.
Le changement le plus important pour les scripts automatisés concerne toutefois les connexions sécurisées. FFmpeg vérifie maintenant les certificats TLS par défaut. Les serveurs utilisant un certificat expiré, auto-signé ou mal configuré risquent donc de provoquer des erreurs là où les anciennes versions continuaient à se connecter.
Faut-il installer FFmpeg 9.0 immédiatement ?
FFmpeg 9.0 est la dernière version stable du projet et peut déjà être téléchargée sous forme de code source. FFmpeg ne fournit toutefois pas directement les exécutables pour Windows, macOS ou les différentes distributions Linux : leur disponibilité dépend des mainteneurs de paquets et des fournisseurs de builds précompilés.
Pour un usage personnel en ligne de commande, la mise à jour apporte de nombreuses améliorations intéressantes, notamment pour Vulkan, le HDR, les WebP animés et les traitements ONNX.
Les développeurs de logiciels devront se montrer plus prudents. Le changement de version majeure de toutes
les bibliothèques implique une rupture d’ABI. Les applications utilisant directement
libavcodec, libavformat ou libswscale devront donc être recompilées,
et parfois adaptées aux API supprimées ou modifiées.
Les scripts existants devront aussi être contrôlés afin de remplacer les anciennes options et de vérifier le fonctionnement des connexions TLS.
Une version tournée vers l’avenir
FFmpeg 9.0 ne se contente pas d’ajouter quelques formats supplémentaires. Cette version modernise en profondeur plusieurs composants essentiels du projet et prépare le terrain pour de futures accélérations sur CPU comme sur GPU.
La refonte de libswscale, l’utilisation croissante de Vulkan, le support d’ONNX Runtime et
les avancées autour des formats RAW montrent que FFmpeg veut rester au centre des futurs workflows
multimédias, des simples conversions vidéo jusqu’aux chaînes de production professionnelles.
Les utilisateurs ne remarqueront pas nécessairement toutes ces transformations immédiatement. Mais elles finiront par profiter à une multitude de logiciels, à commencer par VLC, dont la future version majeure devra migrer vers les nouvelles bibliothèques de FFmpeg.
Partager cet article
Écrit par
larevuegeek
Commentaires (0)