After almost a year of development, it has been announced that GStreamer 1.28 has been released. GStreamer is a cross-platform set of components for creating various multimedia applications, ranging from media players and audio/video file converters to VoIP applications and streaming systems. The GStreamer code is distributed under the LGPLv2.1 license. Updates are also being made to the gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly plugins, as well as the gst-libav binding and the gst-rtsp-server streaming server. The new release is backwards compatible with the 1.0 branch at the API and ABI level. Binary assemblies will soon be available for Android, iOS, macOS, and Windows, while Linux users are recommended to use packages from their distribution.
Key improvements in GStreamer 1.28 include:
- A new plugin called HIP (Heterogeneous-computing Interface for Portability) has been added to support AMD’s software interface for heterogeneous computing, enabling GPU parallel computing in addition to the CPU. The plugin simplifies the implementation of support for different GPUs in a single code base, using the ROCm stack for AMD GPUs and a translation layer to CUDA for NVIDIA GPUs. Components in the plugin facilitate operations such as video blending, color space conversions, video resizing, and communication between system memory and video memory.
- Support for the LCEVC (Low Complexity Enhancement Video Coding) standard has been added to enhance video quality by implementing an additional layer with metadata on top of the H.265 and H.266 codecs. The LCEVC encoder and decoder are based on libraries from SDK V-Nova.
- Vulkan graphics API capabilities have been integrated to accelerate video decoding in AV1 and VP9 formats, as well as video encoding in H.264 format. The Vulkan-based H.265 video decoder now supports 10-bit-per-channel color depth.
- The gtkwaylandsink element, used for rendering with GTK4 and Wayland, now has expanded color capabilities including support for parsing and exposing HDR10 metadata.
- A new element has been added for separating audio sources (such as voice and background music) using the charon-audio library, which implements Demucs.