A GStreamer 1.22, a multimédia alkalmazások széles spektrumának létrehozásához szükséges, többplatformos komponensgyűjtemény, egy éves fejlesztési időszak után megjelent. A kódot LGPLv2.1 licenc alatt terjesztik. Külön frissítéseket kapnak a gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly pluginok, valamint a gst-libav wrapper és a gst-rtsp-server streaming szerver. Az API és ABI szinten az új verzió visszafelé kompatibilis az 1.0 ággal. Binaries soon lesznek elérhetők Android, iOS, macOS és Windows rendszerekre (Linux esetén ajánlott a disztribútor csomagjait használni).
A GStreamer 1.22 főbb fejlesztései:
- Javították az AV1 videóformátum kódolásának támogatását. Lehetővé vált az AV1 hardveres gyorsító átkonvertálása és dekódolása a VAAPI/VA, AMF, D3D11, NVCODEC, QSV és Intel MediaSDK API-n keresztül. Új RTP kezelők kerültek hozzáadásra az AV1-hez. Javították az AV1 elemzést MP4, Matroska és WebM konténerekben. Az összeállítások tartalmazzák az AV1 kódolókat és dekódolókat, melyek a dav1d és rav1e könyvtárakra épülnek.
- A Qt6 támogatása megvalósult. Hozzáadták a qml6glsink elemet, amely a Qt6-ot használja a QML színpadon történő videórajzolásra.
- Hozzáadták a gtk4paintablesink és gtkwaylandsink elemeket, amelyek GTK4 és Wayland használatával történő rajzolásra szolgálnak.
- Új kliensek kerültek bevezetésre az adaptív streaminghez, amelyek támogatják a HLS, DASH és MSS (Microsoft Smooth Streaming) protokollokat.
- Lehetővé vált a csökkentett méretű összeállítások létrehozása, optimalizálva a méret csökkentésére.
- Megvalósították a WebRTC simulcast és Google Congestion Control támogatását.
- Kínálunk egy egyszerű és önálló plugint a WebRTC átviteléhez.
- Új MP4 média konténer csomagoló került bevezetésre, amely támogatja a fragmentált és nem fragmentált adatokat.
- Új pluginek kerültek bevezetésre az Amazon AWS tárolóhoz és hangtranszkripciós szolgáltatásokhoz.
- A Rust nyelvű bindingok frissültek. 19 új plugint, effektust és elemet adtak hozzá, amelyek Rust nyelven íródtak (gst-plugins-rs). Megjegyzik, hogy az új GStreamer változások 33%-a Rust nyelven valósult meg (a változások a bindingokat és a plugineket érintik), míg a gst-plugins-rs plugin gyűjtemény az egyik legaktívan fejlődő GStreamer modul. A Rust nyelven készült pluginek bármely nyelven íródott programokban használhatóak, és a velük való munka hasonló a C és C++ alapú pluginek használatához.
- A Rust plugin delivery is ensured as part of the official binary packages for Windows and macOS platforms (builds and delivery are supported for Linux, Windows, and macOS).
- A Rust-based media server using WebRTC has been implemented, supporting WHIP (WebRTC HTTP ingest) and WHEP (WebRTC HTTP egress).
- The videocolorscale element has been added, combining capabilities for video conversion and scaling.
- Improved support for high color depth video.
- The Navigation API has added support for events from touch screens.
- H.264/H.265 timestamp correction elements have been added for reconstructing PTS/DTS before the packaging of media containers.
- On the Linux platform, DMA application has been improved for collaboration with buffers during encoding, decoding, filtering, and rendering of video using hardware acceleration.
- CUDA integration has been enhanced: the gst-cuda library and cudaconvertscale element have been added, ensuring integration with D3D11 elements and NVIDIA dGPU NVMM.
- Direct3D11 integration has been improved: the new gst-d3d11 library has been added, and the capabilities of the d3d11screencapture, d3d11videosink, d3d11convert, and d3d11compositor plugins have been expanded.
- New hardware-accelerated video encoders in formats H.264/AVC, H.265/HEVC, and AV1 have been implemented for AMD GPUs, built using the AMF (Advanced Media Framework) SDK.
- Support for encoding and decoding H.265/HEVC video has been added to the applemedia plugin.
- Support for encoding H.265/HEVC video has been added to the androidmedia plugin.
- The force-live property has been added to the audiomixer, compositor, glvideomixer, and d3d11compositor plugins to enforce live mode.
Forrás: opennet.ru
