A GStreamer 1.26 megjelenése után, egy éves fejlesztés után, a GStreamer egy keresztplatformos összetevőcsomag, amely lehetővé teszi a széles spektrumú multimédiás alkalmazások, például médialejátszók és audio/video fájlok konverterei, valamint VoIP alkalmazások és streaming rendszerek létrehozását. A GStreamer kódja LGPLv2.1 licenc alatt terjesztendő. A gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly pluginok, valamint a gst-libav kötegek és a gst-rtsp-server streaming szerver külön fejlesztés alatt állnak. Az API és ABI szinten az új kiadás visszafelé kompatibilis az 1.0 ággal. Binaris összeállítások hamarosan elérhetőek lesznek Androidra, iOS-ra, macOS-ra és Windowsra (Linuxon a disztribúcióból származó csomagok használata ajánlott).
A GStreamer 1.26 kulcsfontosságú fejlesztései:
- Hozzáadták a VVC (Versatile Video Coding) videóformátum kódoló és dekódoló modulját, amelyet H.266 néven is ismernek, és amelyet az MPEG (ISO/IEC JTC 1) és VCEG (ITU-T) munkacsoportjai közösen fejlesztettek ki olyan cégek részvételével, mint az Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm és Sony. A H.266 leváltja a H.265 (HEVC) formátumot, és magas hatékonyságot biztosít minden képernyőfelbontás (SD-től és HD-tól 4K-ig és 8K-ig) átadására és tárolására, támogatva a HDR (High Dynamic Range) videókat és a 360 fokos panorámás videót.
- Hozzáadták az LCEVC (Low Complexity Enhancement Video Coding) videókódolási szabvány kódoló és dekódoló modulját, amely egy további réteget valósít meg metainformációkkal a meglévő H.26x és MP4/ISOBMFF kodekek minőségének javítására.
- Hozzáadták a JPEG XS képformátum kódoló és dekódoló moduljait, amely könnyű képalkotási rendszert jelent, minimális késleltetéssel a kódolás és dekódolás során, és a nagyon magas minőségű képfolyamatok (akár 8K) átadásának optimalizálására orientálódik. A JPEG XS jelentősen csökkenti a szükséges sávszélességet anélkül, hogy a szem számára észlelhető minőségcsökkenést okozna.
- Hozzáadva van a rejtett feliratok behelyettesítésének és kiolvasásának lehetősége az H.264 és H.265 formátumokhoz.
- Javították az adaptív streaming támogatását az HLS (HTTP Live Streaming) és DASH (Dynamic Adaptive Streaming over HTTP) protokollok alapjain. Új multimédia adatkezelők (sink) lettek hozzáadva: hlscmafsink és hlssink3 a CMAF (fMP4) és MPEG-TS fragmentumok kiadásához, valamint hlsmultivariantsink a variabilis kimenethez.
- A MPEG-TS multimédia konténerek csomagoló- és kicsomagoló programjába hozzáadták a H.266, JPEG XS, AV1 és VP9 kodekek, valamint a SMPTE ST-2038 és ID3 metaadatok támogatását.
- A Matroska és ISO MP4 formátumokhoz hozzáadták a H.266/VVC kodekhez készült csomagoló és kicsomagoló programokat. Az MP4 formátumban hozzáadták a Hap és Lagarith formátumú videók kicsomagolóit.
- Hozzáadták a SMPTE 2038 támogatását, amely lehetővé teszi további adatok és metaadatok csatolását a multimédia konténerekhez.
- Javították a Vulkan grafikus API integrációját. Bővült a memória kezelésének, a színterek kiválasztásának, az eszközkezelésnek és a teljes képernyős mód kezelésének képessége. Hozzáadták a Vulkan kiterjesztéseket a H264 és H265 videók dekódolásának gyorsításához. Növelték a Vulkan alapú kódoló teljesítményét.
- Javították az OpenGL integrációt. Hozzáadták a szín- és pixelformátumok átalakítására vonatkozó kiegészítő formátumok támogatását. Hozzáadták a DMABufs használatával történő stream-importálás támogatását.
- Javították a Qt6 és QML könyvtárral való integrációt.
- Kiterjesztették a CUDA-val és az NVIDIA Video Codec SDK-val való integrációs komponenseket. Hozzáadták az NVCODEC API-ra épülő AV1 formátumú kódolót.
- Megvalósították a gst-d3d12 könyvtárat, amely a Direct3D 12 API-n alapuló kódolókat és dekódolókat tartalmaz.
- A RTSP stackhez hozzáadták a MIKEY kulcskezelés támogatását ügyféloldalon.
- Az audioconvertben hozzáadták a hangcsatornák átcsoportosításának támogatását.
- A GTK3 könyvtár alapú pluginhoz hozzáadták az OpenGL/WGL támogatását Windows platformon.
- Az imagefreeze elemhez hozzáadták a JPEG és PNG formátumok támogatását.
- A pitch elemben megvalósították a visszafelé történő lejátszás lehetőségét.
- Az rtmp2 elemben javították az RTP szerverek autentikációs mechanizmusait. Hozzáadták az autentikáció támogatását a CDN Limelight-hoz.
- A VA-API integrációs pluginhoz hozzátették az H.266 (VVC) dekódolásának, valamint a VP8 és JPEG kódolásának gyorsítására szolgáló elemeket.
- Hozzáadtak elemeket a QUIC protokollal (raw QUIC, RTP-over-QUIC és WebTransport) történő streameléshez.
- A gst-plugins-rs készlethez 23 új elemet vagy plugint adtak hozzá, amelyeket Rust nyelven írtak. A Rust nyelven írt pluginek bármelyik nyelvű programban használhatók, és használatuk hasonló a C és C++ nyelvű pluginokhoz.
Forrás: opennet.ru
