Po roce vývoje vychází GStreamer 1.26, multiplatformní sada komponent pro vytváření široké škály multimediálních aplikací, od přehrávačů médií a převodníků audio/video souborů až po VoIP aplikace a streamovací systémy. Kód GStreamer je distribuován pod licencí LGPLv2.1. Samostatně se vyvíjejí aktualizace pluginů gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly a také vazby gst-libav a streamovacího serveru gst-rtsp-server. Na úrovni API a ABI je nové vydání zpětně kompatibilní s větví 1.0. Binární sestavení budou brzy připravena pro Android, iOS, macOS a Windows (na Linuxu se doporučuje používat balíčky z distribuce).
Klíčová vylepšení v GStreamer 1.26:
- Přidán kodér a dekodér pro video formát VVC (Versatile Video Coding), také známý jako standard komprese videa H.266, vyvinutý společně pracovními skupinami MPEG (ISO/IEC JTC 1) a VCEG (ITU-T) za účasti společností jako Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm a Sony. H.266 nahrazuje H.265 (HEVC) a poskytuje vysokou efektivitu přenosu a ukládání všech rozlišení obrazovky (od SD a HD až po 4K a 8K), podporuje video s rozšířeným dynamickým rozsahem (HDR, High Dynamic Range) a panoramatické video v režimu 360 stupňů.
- Přidán kodér a dekodér pro standard kódování videa LCEVC (Low Complexity Enhancement Video Coding), který implementuje další vrstvu s metadaty pro zlepšení kvality stávajících kodeků H.26x a MP4/ISOBMFF.
- Přidán kodér a dekodér pro obrazový formát JPEG XS, který je umístěn jako odlehčený systém kódování obrazu, který poskytuje minimální zpoždění při kódování a dekódování a je zaměřen na optimalizaci přenosu velmi kvalitních obrazových sekvencí (až 8K). JPEG XS umožňuje výrazně snížit požadovanou šířku pásma komunikačního kanálu bez jakékoli ztráty kvality patrné lidským okem.
- Přidána možnost vkládat a extrahovat skryté titulky pro formáty H.264 a H.265.
- Vylepšená podpora pro adaptivní streamování založené na protokolech HLS (HTTP Live Streaming) a DASH (Dynamic Adaptive Streaming over HTTP). Byly přidány nové mediální jímky hlscmafsink a hlssink3 pro výstup fragmentů CMAF (fMP4) a MPEG-TS, stejně jako hlsmultivariantsink pro variabilní výstup.
- Balíček a unpacker multimediálních kontejnerů MPEG-TS nyní podporuje kodeky H.266, JPEG XS, AV1 a VP9 a také metadata SMPTE ST-2038 a ID3.
- K formátům Matroska a ISO MP4 byly přidány packery a unpackery pro kodek H.266/VVC. Do MP4 přidány rozbalovače pro video formáty Hap a Lagarith.
- Přidána podpora pro SMPTE 2038, systém pro připojení dalších dat a metadat k multimediálním kontejnerům.
- Vylepšená integrace s grafickým rozhraním Vulkan API. Rozšířené možnosti pro správu paměti, výběr barevného prostoru, správu zařízení a provoz na celé obrazovce. Přidána podpora pro rozšíření Vulkan pro urychlení dekódování videa H264 a H265. Vylepšený výkon kodéru pomocí Vulkan.
- Vylepšená integrace s OpenGL. Přidána podpora pro další formáty konverze barev a formáty pixelů. Přidána podpora pro import streamů pomocí DMABufs.
- Vylepšená integrace s knihovnou Qt6 a QML.
- Rozšířené komponenty pro integraci s CUDA a NVIDIA Video Codec SDK. Přidán kodér formátu AV1 založený na NVCODEC API.
- Knihovna gst-d3d12 byla implementována s kodéry a dekodéry založenými na rozhraní Direct3D 12 API.
- Do zásobníku RTSP byla přidána podpora správy klíčů MIKEY na straně klienta.
- AudioConvert nyní podporuje přeskupování zvukových kanálů.
- Plugin založený na knihovně GTK3 byl aktualizován, aby podporoval OpenGL/WGL na platformě Windows.
- Element imagefreeze nyní podporuje formáty JPEG a PNG.
- Prvek pitch implementuje schopnost hrát obráceně.
- Prvek rtmp2 má vylepšené mechanismy ověřování na serverech RTP. Přidána podpora pro ověřování v Limelight CDN.
- Plugin pro integraci VA-API byl aktualizován o prvky pro urychlení dekódování H.266 (VVC) a také kódování VP8 a JPEG.
- Přidány prvky pro práci se streamy založenými na protokolu QUIC (raw QUIC, RTP-over-QUIC a WebTransport).
- Sada gst-plugins-rs byla aktualizována tak, aby zahrnovala 23 nových položek nebo pluginů napsaných v Rustu. Pluginy napsané v Rustu lze použít v programech napsaných v libovolném jazyce a práce s nimi je podobná používání pluginů napsaných v C a C++.
Zdroj: opennet.ru
