Après six mois de développement, le paquet multimédia FFmpeg 6.0 est maintenant disponible, comprenant un ensemble d'applications et une collection de bibliothèques pour effectuer des opérations sur divers formats multimédias (enregistrement, conversion et décodage de formats audio et vidéo). Le paquet est distribué sous les licences LGPL et GPL, le développement de FFmpeg étant mené en parallèle avec le projet MPlayer.
Parmi les modifications apportées à FFmpeg 6.0, on peut noter :
- La compilation de ffmpeg en mode multithread est devenue obligatoire. Chaque muxer de conteneur multimédia s'exécute maintenant dans un thread distinct.
- La prise en charge de VAAPI et QSV (Quick Sync Video) pour l'encodage et le décodage de VP9 et HEVC avec sous-échantillonnage de couleur 4:2:2 et 4:4:4, en encodage de profondeur de couleur 10 et 12 bits, a été implémentée.
- Le support de la bibliothèque oneVPL (oneAPI Video Processing Library) a été ajouté pour utiliser la technologie d'accélération matérielle Intel QSV (Quick Sync Video).
- Un encodeur AV1 avec accélération matérielle basée sur QSV a été ajouté.
- Des options ont été ajoutées à l'utilitaire ffmpeg :
- «-shortest_buf_duration» pour définir la durée maximale des images tamponnées (plus la valeur est élevée, plus la précision en mode «-shortest» est grande, mais cela entraîne une consommation de mémoire et des latences plus élevées).
- «-stats_enc_pre[_fmt]», «-stats_enc_post[_fmt]» et «-stats_mux_pre[_fmt]» pour enregistrer des informations image par image sur les flux sélectionnés dans un fichier spécifié à différentes étapes de l'encodage.
- «-fix_sub_duration_heartbeat» pour identifier le flux vidéo de synchronisation (heartbeat) utilisé pour séparer les sous-titres.
- La syntaxe du filtergraph a été étendue avec la possibilité de passer des valeurs d'options à partir d'un fichier spécifié. Le nom du fichier est défini en indiquant une valeur avec le préfixe ‘/', par exemple, «ffmpeg -vf drawtext=/text=/tmp/some_text» chargera le paramètre text à partir du fichier /tmp/some_text.
- La prise en charge des formats d'image suivants a été ajoutée : WBMP (Wireless Application Protocol Bitmap), Radiance HDR (RGBE).
- De nouveaux décodeurs ont été ajoutés : APAC, bonk, Micronas SC-4, Media 100i, ViewQuest VQC, MediaCodec (NDKMediaCodec), WADY DPCM, CBD2 DPCM, XMD ADPCM, WavArc, RKA.
- De nouveaux encodeurs ont été ajoutés : nvenc AV1, MediaCodec.
- Des démuxeurs de conteneurs multimédias ont été ajoutés : SDNS, APAC, bonk, LAF, WADY DPCM, XMD ADPCM, WavArc, RKA.
- Les décodeurs CrystalHD ont été déclarés obsolètes.
- Nouveaux filtres pour la vidéo :
- ddagrab — capture vidéo du bureau Windows via l'API Desktop Duplication.
- corr — détermine la corrélation entre deux vidéos.
- ssim360 — évaluation de la similitude d'une vidéo prise en mode 360°.
- hstack_vaapi, vstack_vaapi et xstack_vaapi — combinaison de plusieurs vidéos (chaque vidéo est affichée dans sa propre zone d'écran) utilisant VAAPI pour l'accélération.
- backgroundkey — transforme un fond statique en transparent.
- Le filtre cropdetect a ajouté un mode de détection de la zone de recadrage basé sur les vecteurs et les bords de mouvement.
- Nouveaux filtres pour le son :
- showcwt — conversion du son en vidéo avec visualisation de la fréquence du spectre, utilisant la transformation en ondelettes continue et Morlet.
- adrc — application d'un filtre au flux audio d'entrée pour modifier la plage dynamique spectrale.
- a3dscope — conversion du son d'entrée en son 3D spatial.
- afdelaysrc — génère des coefficients de la réponse impulsionnelle finie (FIR).
- Nouveaux filtres bitstream :
- Conversion de media100 en mjpegb.
- Conversion de DTS en PTS.
Source : opennet.ru
