FFmpeg 9.0 met de nouveau Vulkan à l’honneur
Un an après la version 8.0, l’équipe du projet FFmpeg passe à la mouture majeure suivante. Avec FFmpeg 9.0, Vulkan est particulièrement à l’honneur avec plusieurs améliorations importantes, notamment avec certains codecs orientés production et/ou post-production.
La version 9.0 de FFmpeg, surnommée « Lei », intègre un décodage matériel via l'API Vulkan pour deux formats vidéo : l'APV (Advanced Professional Video) et le ProRes. Vulkan est une interface de programmation (API) multiplateforme permettant d'accélérer les calculs graphiques en déchargeant le processeur central (CPU) vers le processeur graphique (GPU), quel que soit le fabricant (Intel, AMD, NVIDIA). L'APV est un codec libre de redevances créé par Samsung, conçu comme une alternative ouverte au ProRes d'Apple. Cette innovation vise à améliorer les performances en réduisant la charge du CPU, tout en garantissant une compatibilité universelle. FFmpeg 9.0 marque ainsi une étape vers une gestion vidéo indépendante des solutions propriétaires comme CUDA ou NVENC.
FFmpeg 9.0 introduit le décodage matériel de l'APV via Vulkan, ce qui permet de traiter les vidéos avec une efficacité accrue. Pour le ProRes, un autre codec propriétaire d'Apple, la version 9.0 propose également une accélération Vulkan, en complément d'un support natif du ProRes RAW via VideoToolbox (une technologie Apple). Le ProRes RAW est un format lourd, souvent décodé par des solutions logicielles ou des outils propriétaires, ce qui limite sa diffusion. Grâce à cette mise à jour, FFmpeg offre une solution générique pour accélérer son traitement, rendant son utilisation plus accessible et performante. Ces améliorations s'inscrivent dans une logique d'interopérabilité et de réduction des dépendances aux écosystèmes fermés.
FFmpeg 9.0 intègre un filtre nommé v360_vulkan dédié à la reprojection vidéo en 360° ou en format équirectangulaire (une projection cartographique adaptée aux vidéos immersives). Ce filtre permet de transformer des vidéos sphériques pour une visualisation adaptée à différents supports, comme les casques de réalité virtuelle. Par ailleurs, un filtre transpose_cuda est ajouté pour accélérer les rotations ou retournements d'images via CUDA (une technologie NVIDIA), évitant ainsi les transferts inutiles entre le GPU et le CPU. Ces outils renforcent les capacités de traitement vidéo de FFmpeg, tout en optimisant les performances.
La version 9.0 de FFmpeg apporte plusieurs améliorations techniques, dont la lecture native des WebP animés (un format d'image animée développé par Google), ainsi que des optimisations pour le cadre AMF (Advanced Media Framework) d'AMD, une bibliothèque dédiée au traitement multimédia accéléré par GPU. Le support des métadonnées dynamiques SMPTE 2094-50 est également ajouté pour mieux gérer les flux HDR (High Dynamic Range), une technologie améliorant la qualité d'affichage des images. Côté audio, le décodage HE-AAC 960 est désormais pris en charge pour les contenus DAB+ (un standard de radio numérique). Enfin, le code est nettoyé avec la suppression de composants obsolètes comme le décodeur CELT ou le parseur Ogg/CELT.
FFmpeg 9.0 s'accompagne de la mise à jour de plusieurs bibliothèques essentielles : libavutil (61.1.100), libavcodec (63.1.100), libavformat (63.1.100), libavdevice (63.1.100), libavfilter (12.1.100), libswscale (10.1.100) et libswresample (7.1.100). Ces bibliothèques forment le socle technique de FFmpeg, permettant le traitement des flux audio et vidéo. Leur mise à jour garantit une meilleure compatibilité avec les formats existants et une optimisation des performances. Ces évolutions sont cruciales pour les développeurs et les projets qui s'appuient sur FFmpeg, comme les logiciels de montage ou les plateformes de streaming.
FFmpeg est un outil invisible mais essentiel dans le traitement multimédia, utilisé par des logiciels et services grand public comme *VLC*, *YouTube*, *HandBrake*, *OBS Studio*, *Plex*, *Jellyfin*, *Discord*, *Chrome*, *Blender* ou *WhatsApp*. Des entreprises comme *Netflix* l'exploitent également, bien que leur usage précis reste confidentiel. FFmpeg agit comme une *boîte à outils* permettant de coder, décoder, transcoder, mixer et filtrer presque tous les formats audio et vidéo existants. Son rôle est comparable à celui d'un traducteur universel pour les fichiers multimédias, facilitant leur interopérabilité entre différents systèmes et applications. Cette version 9.0 renforce encore cette position en offrant des solutions plus performantes et indépendantes des technologies propriétaires.

