Nach zehn Monaten der Entwicklung steht das Multimedia-Paket FFmpeg 5.0 zur VerfĂŒgung. Es beinhaltet eine Sammlung von Anwendungen und Bibliotheken fĂŒr die Arbeit mit verschiedenen Multimedia-Formaten (Aufzeichnung, Umwandlung und Decodierung von Audio- und Videoformaten). Das Paket wird unter den Lizenzen LGPL und GPL verbreitet, wĂ€hrend die Entwicklung von FFmpeg parallel zum MPlayer-Projekt erfolgt. Die signifikante Ănderung der Versionsnummer beruht auf wesentlichen Ănderungen in der API und dem Wechsel zu einem neuen Release-Modell, nach dem bedeutende neue Versionen jĂ€hrlich und Versionen mit erweiterter UnterstĂŒtzung alle zwei Jahre veröffentlicht werden. FFmpeg 5.0 wird die erste LTS-Version des Projekts sein.
Die in FFmpeg 5.0 hinzugefĂŒgten Ănderungen umfassen:
- Eine umfassende Bereinigung der alten APIs fĂŒr die Kodierung und Dekodierung wurde durchgefĂŒhrt, und der Ăbergang zu einer neuen N:M-API wurde vollzogen, die eine einheitliche Programmierschnittstelle fĂŒr Audio und Video bietet, sowie separate Codecs fĂŒr Eingangs- und Ausgangsströme. Alle zuvor als veraltet markierten alten APIs wurden entfernt. Eine neue API fĂŒr Bitstream-Filter wurde hinzugefĂŒgt. Formate und Codecs wurden getrennt â Mediaplayer extrahieren jetzt nicht mehr den gesamten Kontext der Decoder. APIs fĂŒr die Registrierung von Codecs und Formaten wurden entfernt â alle Formate sind jetzt immer registriert.
- Die Bibliothek libavresample wurde entfernt.
- Eine vereinfachte API auf Basis von AVFrame wurde zur Bibliothek libswscale hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr die Grafik-API Vulkan wurde deutlich verbessert.
- UnterstĂŒtzung fĂŒr hardwarebeschleunigte Dekodierung und Kodierung der Formate VP9 und ProRes unter Verwendung der API VideoToolbox wurde hinzugefĂŒgt.
- Die UnterstĂŒtzung der LoongArch-Architektur, die in Loongson-Prozessoren verwendet wird, wurde hinzugefĂŒgt, sowie die UnterstĂŒtzung der in LoongArch verfĂŒgbaren SIMD-Erweiterungen LSX und LASX. Spezifische Optimierungen fĂŒr LoongArch wurden fĂŒr die Codecs H.264, VP8 und VP9 implementiert.
- Die UnterstĂŒtzung des Protokolls Concatf wurde hinzugefĂŒgt, das das Format fĂŒr die Ăbertragung von Ressourcenlisten definiert ("ffplay concatf:split.txt").
- Neue Decoder wurden hinzugefĂŒgt: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (Rastergrafiken).
- Neue Encoder wurden hinzugefĂŒgt: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Die Parameter des AAC Encoders wurden geĂ€ndert, um eine höhere QualitĂ€t zu erzielen.
- Neue Muxer fĂŒr Mediencontainer wurden hinzugefĂŒgt: Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
- Neue Demuxer fĂŒr Mediencontainer wurden hinzugefĂŒgt: IMF, Argonaut Games CVG.
- Ein neuer Parser fĂŒr den Audio-Codec AMR (Adaptive Multi-Rate) wurde hinzugefĂŒgt.
- Ein Packetizer fĂŒr die Ăbertragung von unkomprimiertem Video ĂŒber das RTP-Protokoll (RFC 4175) wurde hinzugefĂŒgt.
- Neue Videofilter:
- segment und asegment â trennt einen Stream mit Video oder Audio in mehrere Streams, basierend auf Zeit oder Frames.
- hsvkey und hsvhold â ersetzen im Video einen Teil des HSV-Farbbereichs durch Graustufenwerte.
- grayworld â Farbkorrektur des Videos unter Verwendung eines Algorithmus, der auf der Grauwelthypothese basiert.
- scharr â Anwendung des Scharr-Operators (eine Variante des Sobel-Operators mit anderen Koeffizienten) auf das eingehende Video.
- morpho â ermöglicht die Anwendung verschiedener morphologischer Transformationen auf Videos.
- Latenz und Alatency â misst die minimale und maximale Verzögerung der Filterung fĂŒr zuvor angewandte Filter.
- Limitdiff â bestimmt die Differenz zwischen zwei oder drei Video-Streams.
- Xcorrelate â berechnet die Kreuzkorrelation zwischen Video-Streams.
- Varblur â variable UnschĂ€rfe des Videos mit Bestimmung des UnschĂ€rferadius aus einem zweiten Video.
- Huesaturation â Anwendung von Farbton-, SĂ€ttigungs- oder IntensitĂ€tskorrekturen auf das Video.
- Colorspectrum â Generierung eines Video-Streams mit einem bestimmten Farbspektrum.
- Libplacebo â Anwendung zur Verarbeitung von HDR-Shadern aus der Bibliothek libplacebo.
- Vflip_vulkan, hflip_vulkan und flip_vulkan â Varianten der Filter fĂŒr die vertikale oder horizontale Drehung von Videos (vflip, hflip und flip), implementiert unter Verwendung der Grafik-API Vulkan.
- Yadif_videotoolbox â Variante des Deinterlacing-Filters yadif auf Basis des VideoToolbox-Frameworks.
- Neue Filter fĂŒr Audio:
- Apsyclip â Anwendung eines psychoakustischen Abgleichs auf den Audio-Stream.
- Afwtdn â unterdrĂŒckt breitbandiges Rauschen.
- Adecorrelate â Anwendung eines Dekorrelationsalgorithmus auf den Eingangsstrom.
- Atilt â Anwendung einer spektralen Verschiebung fĂŒr einen bestimmten Frequenzbereich.
- Asdr â Bestimmung der Signalverzerrung zwischen zwei Audiostreams.
- aspectralstats â gibt Statistiken zu den spektralen Eigenschaften jedes Audiokanals aus.
- adynamicsmooth â dynamische GlĂ€ttung des Audiostreams.
- adynamicequalizer â dynamische Anpassung des Audiostreams.
- anlmf â Anwendung des kleinste-Quadrate-Algorithmus auf den Audiostream.
Quelle: opennet.ru
