Po letu razvoja je izšel GStreamer 1.22, večplatformni nabor komponent za ustvarjanje širokega spektra multimediijskih aplikacij, od predvajalnikov in pretvornikov avdio/video datotek do VoIP aplikacij in sistemov za pretočno predvajanje. Koda GStreamer se distribuira pod licenco LGPLv2.1. Ločeno se razvijajo posodobitve vtičnikov gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, ter ovojnica gst-libav in strežnik za pretočno predvajanje gst-rtsp-server. Na ravni API in ABI je nova različica združljiva s veją 1.0. Binarni gradniki bodo kmalu pripravljeni za Android, iOS, macOS in Windows (v Linuxu je priporočljivo uporabljati pakete iz distribucije).
Ključne izboljšave GStreamer 1.22:
- Izboljšana je podpora za kodirni format video AV1. Dodana je možnost uporabe strojnega pospeševanja kodiranja in dekodiranja AV1 preko API VAAPI/VA, AMF, D3D11, NVCODEC, QSV in Intel MediaSDK. Dodani so novi RTP obdelovalniki za AV1. Izboljšano je razbiranje AV1 v MP4, Matroska in WebM kontejnerjih. V gradnje so vključeni elementi z AV1 kodirniki in dekodirniki, ki temeljijo na knjižnicah dav1d in rav1e.
- Uvedena je podpora za Qt6. Dodan je element qml6glsink, ki uporablja Qt6 za risanje videa znotraj QML scene.
- Dodana sta elementa gtk4paintablesink in gtkwaylandsink za risanje z uporabo GTK4 in Wayland.
- Dodani so novi odjemalci za prilagodljivo pretakanje, ki podpirajo protokole HLS, DASH in MSS (Microsoft Smooth Streaming).
- Zagotovljena je možnost ustvarjanja zmanjšanih gradiv, optimiziranih za zmanjšanje velikosti.
- Dodana je podpora za WebRTC simulcast in Google Congestion Control.
- Zagotovljen je preprost in samostojen vtičnik za pošiljanje preko WebRTC.
- Dodajal je nov embalažer medijskih kontejnerjev MP4, ki podpira fragmentirane in nefragmentirane podatke.
- Dodani so novi vtičniki za Amazon AWS in storitve transkripcije zvoka.
- Posodobljene so vezave za jezik Rust. Dodanih je 19 novih vtičnikov, učinkov in elementov, napisanih v Rust (gst-plugins-rs). Opaženo je, da 33% sprememb v novem GStreamerju izvira iz Rust (spremembe se nanašajo na vezave in vtičnike), dodatni vtičniki gst-plugins-rs pa so eden in najbolj aktivno razvijanih modulov GStreamer. Vtičniki, napisani v jeziku Rust, se lahko uporabljajo v programih v katerem koli jeziku in delo z njimi je podobno delu z vtičniki v C in C++.
- Zagotavljanje vtičnikov za Rust kot del uradnih binarnih paketov za platforme Windows in macOS (gradnja in dobava sta podprti za Linux, Windows in macOS).
- Uveden Rustavni medijski strežnik na osnovi WebRTC, ki podpira WHIP (WebRTC HTTP ingest) in WHEP (WebRTC HTTP egress).
- Dodana komponenta videocolorscale, ki kombinira možnosti za pretvorbo in merjenje videa.
- Izboljšana podpora za video z veliko globino barv.
- API Navigation je dodal podporo za dogodke iz zaslonov na dotik.
- Dodane komponente za korekcijo časovnih žigov H.264/H.265 za rekonstrukcijo PTS/DTS pred pakiranjem medijskih kontejnerjev.
- Na platformi Linux je izboljšana uporaba DMA za sodelovanje z medpomnilniki pri kodiranju, dekodiranju, filtriranju in risanju videa z uporabo strojne pospešitve.
- Izboljšana integracija s CUDA: dodana knjižnica gst-cuda in komponenta cudaconvertscale, zagotovljena integracija s komponentami D3D11 in NVIDIA dGPU NVMM.
- Izboljšana integracija z Direct3D11: dodana nova knjižnica gst-d3d11, razširjene možnosti vtičnikov d3d11screencapture, d3d11videosink, d3d11convert in d3d11compositor.
- Za GPU AMD so bili implementirani novi strojno pospešeni video kodirniki v formatih H.264/AVC, H.265/HEVC in AV1, zgrajeni z uporabo SDK AMF (Advanced Media Framework).
- V vtičnik applemedia je dodana podpora za kodiranje in dekodiranje videa H.265/HEVC.
- V vtičnik androidmedia je dodana podpora za kodiranje videa H.265/HEVC.
- V vtičnike audiomixer, compositor, glvideomixer in d3d11compositor je dodana lastnost force-live za prisilno vključitev načina v živo.
Izvor: opennet.ru
