Après cinq mois de développement, le package multimédia FFmpeg 7.0 est disponible, qui comprend un ensemble d'applications et une collection de bibliothèques pour les opérations sur différents formats multimédia (enregistrement, conversion et décodage de formats audio et vidéo). Le package est distribué sous licences LGPL et GPL, le développement de FFmpeg est réalisé parallèlement au projet MPlayer.
Parmi les changements ajoutés à FFmpeg 7.0 figurent :
- L'utilitaire de ligne de commande ffmpeg permet l'exécution parallèle d'opérations de décompression/compression de conteneurs multimédias, de décodage, d'encodage et d'application de filtres.
- La prise en charge de l'encodage et du décodage vidéo au format MPEG-5 (EVC - Essential Video Coding) a été implémentée à l'aide de la bibliothèque externe libxevd.
- Ajout de décompresseurs et d'emballeurs de conteneurs multimédias (démultiplexeur/muxeur) pour le format QOA (Quite OK Audio), utilisé pour transmettre l'audio sans perte de qualité. Le décodage QOA serait trois fois plus rapide que celui d'Ogg-Vorbis tout en atteignant des niveaux de qualité et de compression de QOA supérieurs à ceux d'ADPCM.
- Ajout de décompresseurs et de packers de conteneurs multimédias (démultiplexeur/muxeur) pour le format IAMF (Immersive Audio Model and Format), qui définit un conteneur pour la distribution du son surround. Le format prévoit la transmission d'informations supplémentaires nécessaires au fonctionnement des algorithmes de reconstruction de la scène sonore et de mixage sonore, et prend également en compte la propagation des signaux sonores dans l'espace tridimensionnel pour recréer un son aussi proche que possible du naturel. Fournit la prise en charge des métadonnées IAMF pour les formats MP4 et ISOBMFF.
- Ajout d'un décodeur expérimental pour le format VVC (Versatile Video Coding), également connu sous le nom de norme de compression vidéo H.266, développé conjointement par les groupes de travail MPEG (ISO/IEC JTC 1) et VCEG (ITU-T), avec la participation d'entreprises telles qu'Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm et Sony. H.266 remplace H.265 (HEVC) et offre une transmission et un stockage à haute efficacité de toutes les résolutions d'écran (de SD et HD à 4K et 8K), prend en charge la vidéo avec une plage dynamique étendue (HDR, High Dynamic Range) et la vidéo panoramique en Mode 360 degrés.
- La possibilité d'utiliser l'API D3D12VA (Direct 3D 12 Video Encoding) pour l'accélération matérielle du décodage des formats H264, HEVC, VP9, AV1, MPEG-2 et VC1 a été implémentée.
- L'utilitaire ffplay a ajouté la prise en charge de l'accélération matérielle du décodage à l'aide des API Vulkan et libplacebo.
- Ajout de la prise en charge du protocole Content URI utilisé dans la plateforme Android.
- Les exigences relatives à l'environnement de construction ont été augmentées - la compilation de FFmpeg nécessite désormais un compilateur prenant en charge la norme C11. Dans l'une des prochaines versions, ils prévoient d'utiliser C17 comme version minimale prise en charge.
- Pour les encodeurs basés sur QSV (Intel Quick Sync Video), la méthode de contrôle du débit binaire par défaut a été modifiée de VBR (débit binaire variable) à CQP (débit binaire constant).
- Ajout d'un nouveau décompresseur pour les conteneurs multimédia DVD-Vidéo, basé sur les bibliothèques libdvdnav et libdvdread du projet VideoLAN.
- La possibilité de transmettre des métadonnées par paquets (PacketTypeMetadata) a été ajoutée à l'implémentation du format flv.
- Ajout de l'encodeur DXV DXT1.
- Ajout du décodeur LEAD MCMP.
- Ajout de packers de conteneurs multimédias (muxeur) RCWT (Raw Captions with Time) et AEA.
- Pour les formats MP4 et ISOBMFF, la possibilité d'inclure des métadonnées AVE (Ambient Viewing Environment) a été implémentée.
- La prise en charge de la technologie AFGS1 (AOMedia Film Grain Synthesis 1) est implémentée, utilisée dans la spécification AV1 Film Grain et conçue pour améliorer l'efficacité des images granuleuses.
- Ajout de la prise en charge des images fixes aux formats HEIF et AVIF, ainsi que des images fixes en mosaïque.
- Le profil Dolby Vision a été implémenté pour le format AV1.
- La prise en charge du transfert des métadonnées HDR10 est fournie lors de l'encodage via les bibliothèques libx264, libx265 et libsvtav1.
- Ajout d'optimisations pour accélérer le travail avec le format HEVC sur les architectures AArch64 et Loongarch. Des optimisations de performances ont été apportées pour accélérer l'encodage et le décodage des formats AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1 et VP8 sur les systèmes d'architecture RISC-V.
- Nouveaux filtres :
- tiltandshift est une transformation vidéo de style Tilt-Shift qui concentre l'attention sur une partie spécifique de l'image et rend flou le reste du contenu pour créer une apparence semblable à un jouet.
- quirc - détecte et décode les codes QR à l'aide de la bibliothèque libquirc.
- fsync - synchronise les images vidéo en fonction des informations d'un fichier externe.
- aap - utilise l'algorithme de projection affine pour déterminer la similitude des fragments sonores.
- Ajout du backend dnn pour créer des filtres à l'aide de modèles d'apprentissage automatique chargés à l'aide de libtorch.
- Ajout du filtre bitstream showinfo pour la sortie de débogage des informations sur les paquets.
- Ajout du gestionnaire qrencodesrc pour l'insertion de codes QR.
- L'utilitaire ffmpeg prend désormais en charge les décodeurs de bouclage, permet l'utilisation de l'option « -bsf » pour les flux d'entrée et de sortie et supprime les options obsolètes « -psnr » et « -map_channel ».
- L'utilitaire ffprobe implémente l'option « -show_stream_groups option » et fournit une sortie de métadonnées lors de l'utilisation de l'option « -export_side_data film_grain ».
Source: opennet.ru
