Po dziesięciu miesiącach rozwoju ogłoszono wydanie nowej wersji FFmpeg 5.0, który zawiera zestaw aplikacji oraz zbiór bibliotek do operacji na różnych formatach multimedialnych (nagrywanie, konwersja i dekodowanie formatów audio i wideo).
Istotna zmiana numeru wersji wynika z istotnych zmian API i przejścia na nowy schemat generowania wersji, zgodnie z którą nowe główne wydania będą powstawać raz w roku, a wydania z wydłużonym czasem wsparcia - raz na dwa lata. FFmpeg 5.0 będzie pierwszą wersją projektu LTS.
Główne nowe funkcje FFmpeg 5.0
W tej nowej wersji znaczące oczyszczenie starych interfejsów API do kodowania i dekodowania, a także przejście do nowego interfejsu API N:M, który oferuje pojedynczy interfejs programowania dla audio i wideo, a także oddzielne kodeki dla strumieni wejściowych i wyjściowych.
Również wspomniano, że wszystkie wcześniej zaznaczone stare API zostały usunięte przestarzałe i dodane nowe API dla filtrów strumienia bitów.
Poza tym, dodano osobne formaty i kodeki: Urządzenia rozpakowujące kontenery mediów nie integrują już pełnego kontekstu dekodera. Usunięto interfejsy API do rejestrowania kodeków i formatów: wszystkie formaty są teraz zawsze rejestrowane.
Dodany obsługa architektury LoongArch stosowanej w procesorach Loongson, a także wsparcie dla rozszerzeń LSX i LASX SIMD dostarczonych w LoongArch. Wprowadzono specjalne optymalizacje LoongArch dla kodeków H.264, VP8 i VP9.
Dodany obsługa protokołu concatf, który definiuje format przesyłania listy zasobów ("ffplay concatf:split.txt"), dodano również nowe dekodery: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (bitmapy), nowe kodery: bity, Apple Grafika (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Ustawienia kodera AAC zostały zmienione w celu uzyskania wyższej jakości.
Ponadto zauważono również, że dodano pakery kontenerów mediów (muxer): Westwood AUD, CVG Argonaut Games, AV1 (Low Overhead Bitstream), Dodano moduły rozpakowujące kontenery multimedialne (demuxer): IMF, CVG Argonaut Games.
Dodano nowy parser dla kodeka audio AMR (Adaptive Multi-Rate) i dodano paker danych ładunku (paker) do przesyłania nieskompresowanego wideo przy użyciu protokołu RTP (RFC 4175).
Jeśli chodzi o nowe filtry wideo:
- segment i segment: podział strumienia z wideo lub dźwiękiem na wiele strumieni podzielonych według czasu lub ramek.
- hsvkey i hsvhold: Zastąp część gamy kolorów HSV w filmie wartościami w skali szarości.
- szary świat: za pomocą algorytmu opartego na hipotezie szarego świata.
- scharra: zastosowanie operatora Orb (odmiana operatora Sobela o różnych współczynnikach) do wejściowego wideo.
- morfo: Umożliwia zastosowanie do wideo różnych przekształceń morfologicznych.
- czas oczekiwania: Mierzy minimalne i maksymalne opóźnienie filtra dla poprzednio zastosowanego filtra.
- różnica graniczna: Określa różnicę między dwoma lub trzema strumieniami wideo.
- xkorelować: Oblicza korelację krzyżową między strumieniami wideo.
- rozmycie: zmienne rozmycie wideo z definicją promienia rozmycia drugiego wideo.
- wysycenie kości: Zastosuj korekty odcienia, nasycenia lub jaskrawości do wideo.
- spektrum kolorów: Generuj strumień wideo o określonym spektrum kolorów.
- bibliotekaplacebo: Aplikacja do renderowania shaderów HDR z biblioteki libplacebo.
- vflip_vulkan, hflip_vulkan i flip_vulkan: są wariantami pionowych lub poziomych filtrów odwracania wideo (vflip, hflip i flip) zaimplementowanych przy użyciu graficznego API Vulkan.
- yadif_videotoolbox: Wariant filtra usuwania przeplotu yadif oparty na strukturze VideoToolbox.
W końcu dla tych, którzy chcą dowiedzieć się więcej na ten temat o nowej wersji możesz sprawdzić pełną listę zmian w tym linku.
Podczas dla tych, którzy chcą zainstalować lub zaktualizować z FFmpeg powinieneś wiedzieć, że ten pakiet znajduje się w większości dystrybucji Linuksa lub jeśli wolisz, możesz pobrać jego kod źródłowy do kompilacji z linku poniżej.