Efter et års udvikling er GStreamer 1.26 blevet præsenteret, en platformuafhængig samling af komponenter til skabelse af et bredt udvalg af multimediaapplikationer, fra medieafspillere og konvertere af audio/video-filer til VoIP-applikationer og streaming-systemer. Koden til GStreamer distribueres under LGPLv2.1. Opdateringer til plugins som gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly samt indpakningen gst-libav og streamingserveren gst-rtsp-server udvikles separat. På API- og ABI-niveau er den nye udgave bagudkompatibel med version 1.0. Binære builds vil snart blive klargjort til Android, iOS, macOS og Windows (i Linux anbefales det at bruge pakker fra distributionen).
Nøgleforbedringer i GStreamer 1.26:
- Der er tilføjet en encoder og decoder for videoformatet VVC (Versatile Video Coding), også kendt som H.266, et video komprimeringsstandard udviklet i samarbejde mellem arbejdsgrupperne MPEG (ISO/IEC JTC 1) og VCEG (ITU-T), med deltagelse af virksomheder som Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm og Sony. H.266 afløser H.265 (HEVC) og tilbyder høj effektivitet i transmission og lagring på tværs af alle skærmopløsninger (fra SD og HD til 4K og 8K), understøtter video med udvidet dynamisk område (HDR, High Dynamic Range) og 360 graders panoramisk video.
- Der er tilføjet en encoder og decoder for LCEVC (Low Complexity Enhancement Video Coding) video kodningsstandarden, der implementerer et ekstra lag med metadata for at forbedre kvaliteten af eksisterende codecs H.26x og MP4/ISOBMFF.
- Der er tilføjet en encoder og decoder for billedformatet JPEG XS, som markedsføres som et letvægts billedkodningssystem, der muliggør minimale forsinkelser ved kodning og dekodning og er rettet mod optimering af transmissionen af sekvenser af meget høj kvalitet billeder (op til 8K). JPEG XS gør det muligt at reducere den nødvendige båndbredde betydeligt uden mærkbare tab af kvalitet for det menneskelige øje.
- Muligheden for indsættelse og udtrækning af skjulte undertekster for H.264 og H.265 formater er blevet tilføjet.
- Understøttelsen af adaptiv streaming baseret på HLS (HTTP Live Streaming) og DASH (Dynamic Adaptive Streaming over HTTP) er forbedret. Nye multimedia data sinks, hlscmafsink og hlssink3, er blevet tilføjet for output af CMAF (fMP4) og MPEG-TS segmenter samt hlsmultivariantsink for variabel output.
- MPEG-TS multi-media container packaging and unpacking now supports codecs H.266, JPEG XS, AV1, and VP9, as well as SMPTE ST-2038 and ID3 metadata.
- Packagers and unpackers for codec H.266/VVC have been added to Matroska and ISO MP4 formats. Unpackers for video in Hap and Lagarith formats have been added to MP4.
- Support for SMPTE 2038, a system for attaching additional data and metadata to multimedia containers, has been added.
- Integration with the Vulkan graphics API has been improved. The capabilities for memory management, color space selection, device control, and full-screen operation have been expanded. Support for Vulkan extensions for accelerating H264 and H265 video decoding has been added. The performance of the encoder using Vulkan has been enhanced.
- Integration with OpenGL has been improved. Support for additional color conversion formats and pixel formats has been added. Support for importing streams using DMABufs has been included.
- Integration with the Qt6 library and QML has been improved.
- Components for integration with CUDA and NVIDIA Video Codec SDK have been expanded. An AV1 encoder based on the NVCODEC API has been added.
- The gst-d3d12 library has been implemented with encoders and decoders based on the Direct3D 12 API.
- Support for MIKEY key management on the client side has been added to the RTSP stack.
- Support for reordering audio channels has been added to audioconvert.
- Support for OpenGL/WGL on Windows platform has been added to the plugin based on the GTK3 library.
- Support for JPEG and PNG formats has been added to the imagefreeze element.
- Forward playback capability has been implemented in the pitch element.
- Authentication mechanisms on RTP servers have been improved in rtmp2. Support for authentication in Limelight CDN has been added.
- Elements for accelerating H.266 (VVC) decoding as well as VP8 and JPEG encoding have been added to the VA-API integration plugin.
- Elements for working with streams based on the QUIC protocol (raw QUIC, RTP-over-QUIC, and WebTransport) have been added.
- The gst-plugins-rs set has added 23 new elements or plugins written in Rust. Plugins written in Rust can be used in programs in any language, and their operation is similar to using C and C++ plugins.
Kilde: opennet.ru
