Peaaegu aasta kestnud arenduse järel on välja antud GStreamer 1.28, platvormidevaheline komponentide komplekt laia valiku multimeedia rakenduste loomiseks, alates meediapleieritest ja heli/videofailide konverteritest kuni VoIP-rakenduste ja voogesituse süsteemideni. GStreameri kood on jagatud LGPLv2.1 litsentsi all. Eraldi arendatakse pluginade uuendusi gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, samuti sidet gst-libav ja voogesituse serverit gst-rtsp-server. API ja ABI tasemel on uus väljaanne tagasipöördumise ühilduv versiooniga 1.0. Binaarsed ülesehitused valmivad peagi Androidi, iOS-i, macOS-i ja Windowsi jaoks (Linuxis soovitatakse kasutada distributsiooni pakette).
GStreamer 1.28 peamised täiustused:
- Lisatud on uus HIP (Heterogeneous-computing Interface for Portability) pistikprogramm, mis toetab AMD arendatavat liidest heterogeensete arvutuste jaoks, kus lisaks CPU-le kasutatakse GPU paralleelseid arvutusvahendeid. HIP lihtsustab erinevate GPUde toe rakendamist ühes koodibaasis (AMD GPU-de korral kasutatakse ROCm raamistikku, NVIDIA GPU-de puhul aga CUDA tõlkimise kihti). Pistikprogrammi abil on saadaval HIP-i kasutades rakendatud komponente, mis võimaldavad selliseid toiminguid nagu videotöötlus, värviruumi vahetus, videopildi suuruse muutmine ja andmeedastus süsteemi mälu ja videomälu vahel. Täiendavalt on ette valmistatud teek, et integreerida HIP-i tugi rakendustesse.
- Lisatud tugi LCEVC (Low Complexity Enhancement Video Coding) videokodeerimise standardile, mis rakendab põhikoodekite H.265 ja H.266 peal täiendavat kihti metainformatsiooniga videokvaliteedi parandamiseks. LCEVC kodeerija ja dekodeerija rakendamine põhineb V-Nova SDK raamatukogudel.
- Lisatud tugi Vulkani graafikatehnoloogia funktsioonide jaoks, et kiirendada AV1 ja VP9 formaadise videote dekodeerimist ning H.264 formaadise videote kodeerimist. Vulkanil põhinevale H.265 videodekooderile on lisatud toetus 10-bitiste värvikanalite sügavusele.
- GTK4 ja Waylandi kasutamiseks mõeldud gtkwaylandsink elemendis on laiendatud võimalusi värviga töötamiseks, näiteks on lisatud HDR10 metaandmete analüüsi ja seadistamise tugi.
- Lisatud uus element heliallikate eraldamiseks (nt hääle ja taustamuusika eraldamiseks), mis põhineb charon-audio raamatukogul, mis rakendab Demucsi meetodit Rustis. Lisaks sisaldab see Deepgram plugina, mis on kirjutatud kõnetuvastuse jaoks Rustis.
- Analüüsi ja objektituvastuse funktsionaalsus on laiendatud. Lisatud on elemendid analüüsi ühendamiseks ja eraldamiseks. Teostatud on tensor-decoder klassifikaator, näotuvastaja facedetector, YOLOv8 objektituvastaja, element objektide tunnustamise mudelite täitmiseks ja dekooder YOLOX jaoks. Lisatud on tensordecodebin element dekooderite automaatseks ühendamiseks ja element AI-mudelite täitmiseks kasutades LiteRT (asendades TensorFlow Lite).
- Lisatud uus element GIF-piltide dekodeerimiseks, kirjutatud Rustis, mis toetab tsüklilist animatsiooni.
- Input-selector elemendis on rakendatud kahefaasiline mehhanism sisendvoogude (sinkpad) vahetamiseks, mis välistab võistlusoleku tekkimise vahetamise ajal.
- Webrtcsink elemendis on lisatud toetus riistvaralise kodeerimise kiirendamiseks VA-API abil ja võimalus korduvaks ühenduse kokkuleppimiseks.
- Lisatud on elemendid, mis võimaldavad kombineerida ja ekstraheerida vooge televisiooni standardi ST-2038 formaadis.
- Fallbacksrc elemendis on lisatud kodeeritud voogude tugi.
- FLV multimeedia konteineris, kas tiek izmantots RTMP straumēšanai, uzlabota H.265 video atbalsta un pievienots atbalsts multi-stream audio.
- Gle upload elementā pievienots udmabuf bāzes upload atbalsts, kas ļauj koplietot buferus starp programmatūras dekoderiem/avotiem un GPU, displeja dzinējiem (wayland) un citiem ierīcēm.
- Pievienots qml6 elements, lai attēlotu ar Qt6 QML palīdzību.
- Video darbību bibliotēkai pievienotas operācijas kadrēšanai, mērogam, rotācijai un pārvietošanai.
- Pievienots GstContext objekts, kas ļauj izmantot kopīgu pavedienu baseinu elementu izpildes laikā, lai uzlabotu veiktspēju tādās operācijās kā kompozīcija un video transformācija.
- Pievienots icecastsink elements, lai saņemtu straumes no IceCast, kas atbalsta AAC formātu un ir rakstīts Rust valodā.
- Pievienots jauns ElevenLabs balss klonēšanas elements.
- Runas sintēzē pievienots režīms, lai paātrinātu atskaņošanu, saglabājot tonālo augstumu.
- Pievienots vmaf elements video kvalitātes uztveres novērtēšanai, izmantojot Netflix VMAF ietvaru.
- Lisatud uus MPEG-H heli dekooderi plugin, mis põhineb Fraunhofer MPEG-H dekooderil ja toetab MP4 meedianõude lahtipakkimist.
- Täpsem toetus peidetud subtiitritele (CC - suletud subtiitrid) ja tekstitöötlusele.
Allikas: opennet.ru
