Nach fünfmonatiger Entwicklung steht das Multimedia-Paket FFmpeg 7.0 zur Verfügung, das eine Sammlung von Anwendung und Bibliotheken für die Verarbeitung verschiedener Multimedia-Formate (Aufzeichnung, Umwandlung und Decodierung von Audio- und Videoformaten) umfasst. Das Paket wird unter den Lizenzen LGPL und GPL vertrieben, und die Entwicklung von FFmpeg erfolgt parallel zum Projekt MPlayer.
Zu den Änderungen, die in FFmpeg 7.0 hinzugefügt wurden, gehören:
- In der Befehlszeilenanwendung ffmpeg ist die parallele Ausführung von Operationen zum Entpacken/Verpacken von Mediencontainern, Decodieren, Encodieren und Anwenden von Filtern gewährleistet.
- Es wurde Unterstützung für das Encodieren und Decodieren von Videos im MPEG-5-Format (EVC — Essential Video Coding) unter Verwendung der externen Bibliothek libxevd implementiert.
- Demuxer und Muxer für das QOA-Format (Quite OK Audio), das für die verlustfreie Audioübertragung verwendet wird, wurden hinzugefügt. Es wird behauptet, dass das Decodieren von QOA drei Mal schneller als Ogg-Vorbis erfolgt, während QOA eine höhere Qualität und Kompressionsrate im Vergleich zu ADPCM erreicht.
- Es wurden Demuxer- und Muxer-Module für das IAMF-Format (Immersive Audio Model and Format) hinzugefügt, das den Container für die Verbreitung von räumlichem Klang definiert. Das Format ermöglicht die Übertragung zusätzlicher Informationen, die für die Funktionsweise der Algorithmen zur Wiedergabe von Klangräumen und zur Mischung von Tönen erforderlich sind, und berücksichtigt die Verbreitung von Klangsignalen im dreidimensionalen Raum, um den Klang so nah wie möglich an das Natürliche heranzuführen. Die Unterstützung von IAMF-Metadaten für die Formate MP4 und ISOBMFF wurde gewährleistet.
- Ein experimenteller Decoder für das VVC-Format (Versatile Video Coding) wurde hinzugefügt, das auch als Komprimierungsstandard H.266 bekannt ist. Dieser wurde gemeinsam von den Arbeitsgruppen MPEG (ISO/IEC JTC 1) und VCEG (ITU-T) entwickelt, mit der Beteiligung von Unternehmen wie Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm und Sony. H.266 ersetzt H.265 (HEVC) und gewährleistet eine hohe Effizienz bei der Übertragung und Speicherung aller Bildschirmauflösungen (von SD und HD bis 4K und 8K), unterstützt Videos mit erweitertem dynamischen Bereich (HDR, High Dynamic Range) und 360-Grad-Panorama-Videos.
- Die Möglichkeit zur Nutzung der D3D12VA-API (Direct 3D 12 Video Encoding) zur hardwarebeschleunigten Dekodierung der Formate H264, HEVC, VP9, AV1, MPEG-2 und VC1 wurde implementiert.
- Die ffplay-Nutzeroberfläche unterstützt jetzt hardwarebeschleunigte Dekodierung durch die Verwendung der Vulkan-API und libplacebo.
- Unterstützung des Content URI-Protokolls, das in der Android-Plattform verwendet wird, wurde hinzugefügt.
- Die Anforderungen an die Umgebung für den Build wurden erhöht – zum Kompilieren von FFmpeg ist jetzt ein Compiler erforderlich, der den C11-Standard unterstützt. In einer der nächsten Versionen wird C17 als minimal unterstützte Version vorgesehen.
- Für die auf QSV (Intel Quick Sync Video) basierenden Encoder wurde die Bitrate-Verwaltungsmethode standardmäßig von VBR (variabler Bitrate) auf CQP (konstante Bitrate) geändert.
- Ein neuer DVD-Video-Mediencontainer-Dekoder wurde eingeführt, der auf den Bibliotheken libdvdnav und libdvdread des Projekts VideoLAN basiert.
- Die FLV-Formatimplementierung unterstützt jetzt die Übertragung von Metadaten in Paketen (PacketTypeMetadata).
- Ein DXV DXT1-Encoder wurde hinzugefügt.
- Ein LEAD MCMP-Dekoder wurde hinzugefügt.
- Die Muxer für die Mediencontainer RCWT (Raw Captions with Time) und AEA wurden hinzugefügt.
- Für die Formate MP4 und ISOBMFF wurde die Möglichkeit zur Einbeziehung von AVE (Ambient Viewing Environment) Metadaten implementiert.
- Unterstützung der AFGS1-Technologie (AOMedia Film Grain Synthesis 1) implementiert, die in der AV1 Film Grain-Spezifikation verwendet wird und darauf abzielt, die Effizienz von körnigen Bildern zu verbessern.
- Unterstützung für statische (still) Bilder in den Formaten HEIF und AVIF sowie für mosaikartige statische Bilder hinzugefügt.
- Für das AV1-Format wurde ein Dolby Vision-Profil implementiert.
- Unterstützung für die Übertragung von HDR10-Metadaten beim Codieren über die Bibliotheken libx264, libx265 und libsvtav1 bereitgestellt.
- Optimierungen zur Beschleunigung der Verarbeitung des HEVC-Formats auf AArch64- und Loongarch-Architekturen hinzugefügt. Leistungsoptimierungen zur Beschleunigung der Codierung und Dekodierung von AAC-, FLAC-, JPEG-2000-, LPC-, RV4.0-, SVQ-, VC1- und VP8-Formaten auf RISC-V-Systemen vorgenommen.
- Neue Filter:
- tiltandshift — verwandelt Video im Tilt-Shift-Stil, bei dem das Augenmerk auf einen bestimmten Teil des Bildes gerichtet wird, während der Rest des Inhalts unscharf gemacht wird, um ein Gefühl der Spielzeughaftigkeit zu erzeugen.
- quirc — Erkennung und Dekodierung von QR-Codes mithilfe der Bibliothek libquirc.
- fsync — Synchronisation von Videobildern basierend auf Informationen aus einer externen Datei.
- aap — verwendet den Algorithmus der affinen Projektionsmethode zur Bestimmung der Ähnlichkeit von Audiofragmenten.
- Ein dnn-Backend wurde hinzugefügt, um Filter zu erstellen, die maschinelles Lernen Modelle verwenden, die mit libtorch geladen werden.
- Ein Bitstream-Filter showinfo wurde hinzugefügt, um Debug-Informationen über Pakete anzuzeigen.
- Ein qrencodesrc-Handler wurde hinzugefügt, um QR-Codes zu generieren.
- In der ffmpeg-Anwendung wurde die Unterstützung für Loopback-Decodierer implementiert, die Verwendung der Option „-bsf“ für Ein- und Ausgabeströme ist jetzt erlaubt, und die veralteten Optionen „-psnr“ und „-map_channel“ wurden entfernt.
- In der ffprobe-Anwendung wurde die Option „-show_stream_groups“ implementiert, und es wird Unterstützung für die Ausgabe von Metadaten bei Verwendung der Option „-export_side_data film_grain“ bereitgestellt.
Quelle: opennet.ru
