Pärast aastast arendustööd ilmus GStreamer 1.22, platvormideülene komponentide komplekt mitmesuguste multimeediumirakenduste loomiseks alates meediumipleieritest ja heli-/videofailide konverteritest kuni VoIP-rakenduste ja voogedastussüsteemideni. GStreameri koodi levitatakse LGPLv2.1 litsentsi alusel. Eraldi arendatakse välja lisandmoodulite gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, samuti sidumise gst-libav ja voogedastusserveri gst-rtsp-server värskendused. . API ja ABI tasemel ühildub uus versioon tagasiulatuvalt 1.0 haruga. Peagi valmistatakse ette binaarversioone Androidile, iOS-ile, macOS-ile ja Windowsile (Linuxis on soovitatav kasutada distributsiooni pakette).
GStreamer 1.22 peamised täiustused:
- Täiustatud tugi AV1 videokodeerimisvormingule. Lisati võimalus kasutada riistvaraliselt kiirendatud AV1 kodeerimist ja dekodeerimist VAAPI/VA, AMF, D3D11, NVCODEC, QSV ja Intel MediaSDK API-de kaudu. AV1 jaoks on lisatud uued RTP töötlejad. Täiustatud AV1 parsimine MP4, Matroska ja WebM konteinerites. Koostud sisaldavad AV1-koodrite ja dekoodritega elemente, mis põhinevad dav1d- ja rav1e-teegidel.
- Rakendatud Qt6 tugi. Lisatud qml6glsink element, mis kasutab Qt6 video renderdamiseks QML-stseenis.
- Lisatud gtk4paintablesink ja gtkwaylandsink elemendid renderdamiseks GTK4 ja Waylandiga.
- Lisatud uued adaptiivsed voogedastuskliendid, mis toetavad HLS-i, DASH-i ja MSS-i (Microsoft Smooth Streaming) protokolle.
- Võimaldab luua eemaldatud komplekte, mis on optimeeritud suuruse vähendamiseks.
- Lisatud on WebRTC simulcasti ja Google'i ummikukontrolli tugi.
- Pakutakse lihtsat ja iseseisvat pistikprogrammi WebRTC kaudu saatmiseks.
- Lisatud on uus MP4-meediumikonteinerite pakkija, mis toetab killustatud ja killustamata andmeid.
- Lisatud uued pistikprogrammid Amazon AWS-i salvestus- ja heli transkriptsiooniteenuste jaoks.
- Uuendatud köited Rust keele jaoks. Lisatud 19 uut Rustis (gst-plugins-rs) kirjutatud pluginat, efekti ja elementi. Märgitakse, et 33% uue GStreameri muudatustest on rakendatud Rustis (muudatused on seotud sidumiste ja pistikprogrammidega) ning pistikprogrammide komplekt gst-plugins-rs on üks aktiivsemalt arendatud GStreameri mooduleid. Rustis kirjutatud pluginaid saab kasutada mis tahes keele programmides ja nendega töötamine on sarnane C ja C++ pluginate kasutamisele.
- Rooste pistikprogrammid tarnitakse Windowsi ja macOS-i platvormide ametlike binaarpakettide osana (Linux, Windows ja macOS toetavad loomist ja levitamist).
- Rakendatud on WebRTC-põhine Rust keeles kirjutatud meediumiserver, mis toetab WHIP-i (WebRTC HTTP ingest) ja WHEP-i (WebRTC HTTP väljapääsu).
- Lisatud on videocolorscale element, mis ühendab endas võimalused video konverteerimiseks ja skaleerimiseks.
- Täiustatud tugi suure värvisügavusega videotele.
- Navigatsiooni API-le on lisatud puuteekraaniga sündmuste tugi.
- Lisatud H.264/H.265 ajatempli paranduselemendid PTS/DTS rekonstrueerimiseks enne kandjakonteinerite pakkimist.
- Linuxi platvormil DMA täiustatud kasutamine puhvrite jagamiseks video kodeerimisel, dekodeerimisel, filtreerimisel ja renderdamisel riistvaralise kiirenduse abil.
- Täiustatud CUDA integratsioon: lisatud gst-cuda teek ja cudaconvertscale element, integreerimine D3D11 ja NVIDIA dGPU NVMM elementidega.
- Täiustatud integratsioon Direct3D11-ga: lisati uus gst-d3d11 teek, laiendati pistikprogrammide d3d11screencapture, d3d11videosink, d3d11convert ja d3d11compositor võimalusi.
- AMD GPU-de jaoks on rakendatud uued riistvarakiirendusega videokodeerijad H.264/AVC, H.265/HEVC ja AV1 vormingute jaoks, mis on loodud AMF (Advanced Media Framework) SDK abil.
- Applemedia pistikprogrammile on lisatud H.265 / HEVC video kodeerimise ja dekodeerimise tugi.
- Androidmedia pistikprogrammile on lisatud H.265/HEVC videokodeeringu tugi.
- Reaalajas režiimi sundimiseks lisati audiomikseri, kompositori, glvideomixeri ja d3d11kompositori pistikprogrammidele sund-live atribuut.
Allikas: opennet.ru