Nach zehn Monaten Entwicklung ist das Multimedia-Paket FFmpeg 6.1 verfügbar, das eine Reihe von Anwendungen und eine Sammlung von 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, die Entwicklung von FFmpeg erfolgt parallel zum Projekt MPlayer.
Zu den in FFmpeg 6.1 hinzugefügten Änderungen gehören:
- Die Möglichkeit zur Nutzung der Vulkan-API für die Hardwarebeschleunigung von Video-Decodierungen in den Formaten H264, HEVC und AV1 wurde implementiert.
- Ein AV1-Video-Encoder, basierend auf VAAPI, wurde hinzugefügt.
- Die Unterstützung für die Verwendung der Codecs HEVC, VP9 und AV1 in Streams basierend auf dem RTMP-Protokoll und in FLV-Dateien wurde hinzugefügt.
- Ein Parser, Encoder und Decoder für Mediendateien im EVC-Format (Essential Video Coding), das von der MPEG-Arbeitsgruppe als MPEG-5-Standard entwickelt wird, wurde implementiert.
- Die VAAPI-Unterstützung auf Windows-Systemen mit der Bibliothek libva-win32 wurde erweitert.
- Die Möglichkeit zur Nutzung der Parameter P_SKIP wurde zur Beschleunigung der Video-Kodierung mit der Bibliothek libx264 implementiert.
- Ein Encoder für Videos im Microsoft RLE-Format wurde hinzugefügt.
- Neue Decoder für Playdate, RivaTuner, vMix und OSQ wurden hinzugefügt.
- Der ARIB STD-B24 Untertitel-Decoder basiert auf der libaribcaption Bibliothek.
- Demuxer für Mediencontainer hinzugefügt: Raw VVC (Versatile Video Coding, neuer Standard H.266/MPEG-I Teil 3), Playdate, Raw AC-4, OSQ, CRI USM.
- Muxer für Mediencontainer hinzugefügt: Raw AC-4 und Raw VVC.
- Neue Videofilter:
- color_vulkan – erzeugt einen Frame der angegebenen Farbe über den Zugriff auf die Vulkan API.
- bwdif_vulkan – führt Deinterlacing mit dem BWDIF-Algorithmus (Bob Weaver Deinterlacing Filter) durch, implementiert über die Vulkan API.
- bwdif_cuda – Deinterlacing mithilfe des BWDIF-Algorithmus, implementiert auf Basis der CUDA API.
- nlmeans_vulkan – Rauschunterdrückung mithilfe des Non-local means Algorithmus, implementiert über die Vulkan API.
- xfade_vulkan – Implementierung des Ausblendeffekts über die Vulkan API.
- zoneplate – generiert eine Prüfvideo-Tabelle basierend auf einer zonalen Fresnel-Linse.
- scale_vt und transpose_vt sind Skalierungs- und Umformungsfilter, implementiert mit der VideoToolBox API (macOS).
- In den Filtern setpts und asetpts wurde die Unterstützung für Befehle hinzugefügt.
- Neue Filter für Audio:
- arls – wendet das rekursive Kleinste-Quadrate-Verfahren an, um die Parameter eines Audiosignals an ein anderes anzunähern.
- afireqsrc – generiert einen FIR-Equalizer (Filter mit fester Impulsantwort).
- apsnr – misst das Signal-Rausch-Verhältnis.
- asisdr – misst das Signalverzerrungsniveau.
- Neue Bitstream-Filter:
- Bearbeitung von Metadaten in VVC-Streams (Versatile Video Coding, H.266).
- Konvertierung von VVC-Streams von MP4 nach "Annex B".
- Dem ffmpeg-Tool wurde die Option "-readrate_initial_burst" hinzugefügt, um die Zeit für die anfängliche Lese-Pufferung festzulegen, nach der das Limit "-readrate" wirksam wird. Die Option ‘-top’ wurde als veraltet erklärt, stattdessen sollte der Filter setfield verwendet werden.
- Dem ffprobe-Tool wurde die Option "-output_format" hinzugefügt, die der Option "-of" ähnlich ist und verwendet werden kann, um das Ausgabeformat zu definieren (zum Beispiel kann das Format json verwendet werden). Das XML-Ausgabeformat wurde geändert, um mehrere Elemente zu unterstützen, die an ein Elternelement gebunden sind.
Quelle: opennet.ru
