Peaaegu aasta arendamise järel on välja antud GStreamer 1.28, platvormideüline komponentide komplekt, mis võimaldab luua laia valikut multimeedia rakendusi, alates meediumipleieritest ja helivideofailide kodeerijatest kuni VoIP-rakenduste ja voogedastussüsteemideni. GStreameri kood on litsentseeritud LGPLv2.1 alusel. Eraldi arendatakse välja lisandmoodulite uuendusi nagu gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, samuti gst-libav ja voogedastusseerve gst-rtsp-server. API ja ABI tasandil on uus väljaanne tagurpidikompatiibel 1.0 haruga. Binaarsed kogumid valmistatakse peagi ette Androidile, iOS-ile, macOS-ile ja Windowsile (Linuxis soovitatakse kasutada jaotuse pakette).
Olulised täiustused GStreamer 1.28:
- Uus HIP (Heterogeneous-computing Interface for Portability) plugina on lisatud, et toetada AMD poolt arendatavat liidest, mis võimaldab heterogeenseid arvutusi, kus lisaks CPU-le kasutatakse ka GPU paralleelseid arvutusressursse. HIP lihtsustab erinevate GPU-de toe rakendamist ühes koodibaasis (AMD GPU-de jaoks kasutatakse ROCm-i, NVIDIA GPU-de jaoks on olemas CUDA ülekande kiht). Plugina kaudu on saadaval HIP-i kasutavad komponendid, et teostada toiminguid nagu videote segamine, värviruumi teisendamine, video suuruse muutmine ja andmevahetuse korraldamine süsteemimälu ja videomälu vahel. Lisaks on koostatud teek HIP toetuse integreerimiseks rakendustesse.
- Lisatud on LCEVC (Low Complexity Enhancement Video Coding) video kodeerimisstandardi tugi, mis lisab tavapärastele H.265 ja H.266 kodeerijatele täiendava kihti metainformatsiooni, et täiustada video kvaliteeti. LCEVC kodeerija ja dekodeerija rakendamine põhineb V-Nova SDK raamatukogudel.
- Lisatud on Vulkan graafik API võimekuse tugi, et kiirendada video dekodeerimist AV1 ja VP9 formaatides, samuti videote kodeerimist H.264 formaadis. Vulkanil põhinev H.265 video dekodeerija toetab nüüd ka 10-bitiste värvikanalite sügavust.
- GTK4 ja Waylandi kasutamiseks mõeldud gtkwaylandsink elemendi värvitöötluse võimed on laienenud, sealhulgas HDR10 metainformatsiooni analüüsi ja sätete tugi on lisatud.
- Lisatud uus element heliallikate eraldamiseks (nt hääl ja taustamuusika eraldamiseks), mis põhineb charon-audio raamatukogul, mis rakendab Demucs meetodit Rustis. Lisaks sisaldab see süntesaator Deepgram kõne tuvastamiseks, mis on kirjutatud Rustis.
- Alandatud analüütika ja objektide tuvastamise võimalusi. Lisatud elemendid analüütika ühendamiseks ja eraldamiseks. Rakendatud tensor-decoder klassifikaator, facedetector näotuvastaja, YOLOv8 objekti tuvastaja, element mudelite töötlemiseks ja YOLOX objektituvastuse dekooder. Lisatud tensordecodebin element dekooderite automaatseks ühendamiseks ja element AI mudelite töötlemiseks LiteRT abil (mis asendab TensorFlow Lite).
- Lisatud uus element GIF-piltide dekodeerimiseks, mis on kirjutatud Rustis ja toetab tsüklitavaid animatsioone.
- Input-selector elemendis on rakendatud kaksifaasiline mehhanism sisendvoogude (sinkpad) vahetamiseks, vältides võistlusseisundeid vahetamise ajal.
- Webrtcsink elemendis on lisatud riistvara kiirendamise tugi kodeerimise jaoks VA-API abil ja võimalus ühenduse uuesti kooskõlastamiseks.
- Lisatud elemendid voogude kombineerimiseks ja eraldamiseks teleülekande norme ST-2038 vormingus.
- Fallbacksrc elemendis on lisatud toetuseks kodeeritud voogudele.
- RTMP edastuseks kasutatavas FLV multimeedia konteineris on parendatud H.265 video tugi ja lisatud mitme mikrofoni heli tugi.
- Glupload elemendis on lisatud udmabuf-põhine üleslaadija tugi, võimaldades jagada puhvreid tarkvaradekooderite/allikate ja GPU, kuvamootoritega (wayland) ja muude seadmete vahel.
- Lisatud qml6 element joonistamiseks Qt6 QML abil.
- Video töötluse raamatukogusse on lisatud operatsioonid lõikamiseks, skaleerimiseks, pööramiseks ja nihutamiseks.
- Lisatud objekt GstContext, mis võimaldab jagatud voolude basseini kasutamist elementide töötlemisel tõhususe suurendamiseks, näiteks kompositsiooni ja video muundamise operatsioonides.
- Lisatud icecastsink element IceCast voogude vastuvõtmiseks, toetades AAC formaati ja kirjutatud Rustis.
- Lisatud uus hääle kloonimise element ElevenLabs.
- Kõnesüntesaatorisse on lisatud režiim, et kiirendada taasesitamist, säilitades samal ajal helikõrguse.
- Lisatud vmaf komponent video kvaliteedi tajumise hindamiseks Netflixi VMAF raamistiku abil.
- Lisatud uus MPEG-H helidekodeerija plugin, mis põhineb Fraunhofer MPEG-H dekooderil ja toetab MP4 meedia konteinerite avamist.
- Suurendatud toetust varjatud subtiitritele (CC — suletud subtiitrid) ja teksti töötlemisele.
Allikas: opennet.ru
