Pas quase një vit zhvillimi, është prezantuar lëshimi i GStreamer 1.28, një paketë multi-platformë komponentësh për krijimin e një gamë të gjerë aplikacionesh multimediale, nga playerë mediash dhe konvertorë audio/video, deri te aplikacione VoIP dhe sisteme transmetimi. Kodi i GStreamer shpërndahet nën licencën LGPLv2.1. Ndërkohë, zhvillohen përditësime të veçuara për pluginët gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, si dhe mbështetje për gst-libav dhe serverin e transmetimit gst-rtsp-server. Në nivelin API dhe ABI, lëshimi i ri është pajtueshëm me degën 1.0. Ndërkohë, do të përgatiten shpejt ndërtimet binar për Android, iOS, macOS dhe Windows (në Linux rekomandohet përdorimi i paketave nga distribuimi).
Përmirësimet kryesore të GStreamer 1.28:
- Shtuar një plugin të ri HIP (Heterogeneous-computing Interface for Portability) për mbështetje të ndërfaqes së zhvilluar nga AMD për llogaritje të heterogjene, ku përveç CPU përdoren mjete për llogaritje paralele GPU. HIP e thjeshton zbatimin e mbështetjes për GPU të ndryshme në një bazë kodi të vetme (për ekzekutimin në GPU AMD përdoret stoku ROCm, ndërsa për GPU NVIDIA - një ndërfaqe për translacion në CUDA). Plugin ofron komponentë të implementuar duke përdorur HIP, për të kryer operacione si përzierja e videove, konvertimet nga një hapësirë ngjyrash në një tjetër, ndryshimi i dimensions e videove dhe organizimi i shkëmbimit të të dhënave midis memories sistem dhe memories grafike. Shtuar gjithashtu një bibliotekë për integrimin e mbështetjes HIP në aplikacione.
- Shtuar mbështetje për standardin e kodimit të videos LCEVC (Low Complexity Enhancement Video Coding), që implementon mbi codecët standard H.265 dhe H.266 një shtresë shtesë me metadata për të përmirësuar cilësinë e videos. Implementimi i koduesit dhe dekoduesit LCEVC bazohet në bibliotekat nga SDK V-Nova.
- Shtuar mbështetje për mundësitë e API-grafik Vulkan për të përshpejtuar dekodimin e videos në formatet AV1 dhe VP9, si dhe kodimin e videos në formatin H.264. Në dekoduesin e videos H.265 të bazuar në Vulkan është shtuar mbështetje për thellësinë e ngjyrës me 10-bite për kanal.
- Në elementin gtkwaylandsink, i dedikuar për rendering duke përdorur GTK4 dhe Wayland, janë zgjeruar mundësitë për punë me ngjyrën, siç është shtuar mbështetje për analizimin dhe vendosjen e metadata HDR10.
- Shtuar një element të ri për ndarjen e burimeve të zërit (p.sh., ndarjen e zërit dhe muzikës së sfondit), i bazuar në bibliotekën charon-audio, që implementon metodën Demucs në gjuhën Rust. Për më tepër, është përfshirë një plugin Deepgram për njohjen e zërit, e shkruar në Rust.
- Zgjeruar mundësitë e analitikës dhe njohjes së objekteve. Shtuar elemente për bashkimin dhe ndarjen e analitikës. Janë implementuar klasifikuesi tensor-decoder, detekuesi i fytyrës facedetector, detekuesi i objekteve YOLOv8, element për ekzekutimin dhe dekoduesi për modelin e njohjes së objekteve YOLOX. Shtuar elementi tensordecodebin për lidhje automatike dekoduesish dhe elementi për ekzekutimin e modeleve AI me LiteRT (që zëvendësoi TensorFlow Lite).
- Shtuar një element të ri për dekodimin e imazheve GIF, e shkruar në Rust dhe që mbështet animacionin e rikthyer.
- Në elementin input-selector është realizuar një mekanizëm dykalor për kalimin midis flujo-ve hyrëse (sinkpad), që parandalon ndodhin e stanit të garës gjatë kalimit.
- Në elementin webrtcsink është shtuar mbështetje për përshpejtimin harduerik të kodimit përmes VA-API dhe mundësia për rinovimin e lidhjes.
- Shtuar elemente për kombinimin dhe nxjerrjen e flujo-ve në formatin e standardit të transmetimit ST-2038.
- Në elementin fallbacksrc është shtuar mbështetje për flujo-t e koduara.
- Në kontejnerin multimedia FLV, i përdorur për transmetimin RTMP, është përmirësuar mbështetje për videon H.265 dhe është shtuar mbështetje për tingullin me shumë kanale.
- Në elementin glupload është shtuar mbështetje për ngarkuesin e bazuar në udmabuf, i cili lejon ndarjen e buferëve ndërmjet dekoduesve/burimeve softuerike dhe GPU, motorëve të shfaqjes (wayland) dhe pajisjeve të tjera.
- Shtuar elementi qml6 për rendering duke përdorur Qt6 QML.
- Në bibliotekën për punë me video janë shtuar operacione për prerje, shkallëzim, rrotullim dhe zhvendosje.
- Shtuar objekti GstContext, që lejon përdorimin e një pule të përbashkët për flujo gjatë ekzekutimit të elementeve për rritjen e performancës për operacione si kompozitimi dhe transformimi i videove.
- Shtuar elementi icecastsink për marrjen e flujo-ve nga IceCast, që mbështet formatin AAC dhe është shkruar në Rust.
- Shtuar një element të ri për klonimin e zërit nga ElevenLabs.
- Në sintetizatorin e zërit është shtuar një modalitet për përshpejtimin e rikthimit me ruajtjen e lartësisë së tonit.
- Shtuar elementin vmaf për vlerësimin e cilësisë së perceptuar të videos duke përdorur kornizën VMAF nga Netflix.
- ĂshtĂ« shtuar njĂ« plagin i ri pĂ«r dekodimin e zĂ«rit MPEG-H, i bazuar nĂ« dekoduesin Fraunhofer MPEG-H dhe qĂ« mbĂ«shtet shpaketimin e kontenerĂ«ve mediatikĂ« MP4.
- ĂshtĂ« zgjeruar mbĂ«shtetja pĂ«r titujt e fshehur (CC â Closed Captions) dhe pĂ«rpunimin e tekstit.
Burimi: opennet.ru
