The GStreamer 1.16.0 multimedia framework is now available

After more than a year of development the release GStreamer 1.16, a cross-platform set of components written in C for creating a wide range of multimedia applications, from media players and audio/video file converters to VoIP applications and streaming systems. The GStreamer code is distributed under the LGPLv2.1 license. Simultaneously, updates for the plugins gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, as well as the gst-libav 1.16 wrapper and the gst-rtsp-server 1.16 streaming server are available. At the API and ABI level, the new release is backward compatible with the 1.0 branch. Binary builds will soon be prepared for Android, iOS, macOS, and Windows (on Linux, it is recommended to use packages from the distribution).

Key improvements GStreamer 1.16:

  • Support for P2P data channels implemented using the SCTP protocol has been added to the WebRTC stack, as well as support for the BUNDLE mechanism for sending different types of multimedia data within a single connection and the ability to work with multiple TURN servers (an extension of STUN for traversing address translators);
  • Support for the AV1 video codec in Matroska (MKV) and QuickTime/MP4 containers has been added. Additional AV1 settings have been implemented and the number of input formats supported by the encoder has been expanded;
  • Support added hidden subtitles, as well as the ability to identify and extract other types of integrated data from video ANC (Ancillary Data, additional information such as sound and metadata transmitted through digital interfaces in non-visible parts of scan lines);
  • Support for unencoded (raw) audio without interleaving audio channels in memory (Non-Interleaved, where left and right audio channels are placed in separate blocks instead of interleaving channels as "LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT");
  • The base set of plugins (gst-plugins-base) has been moved GstVideoAggregator (a class for mixing raw video), compositor (an improved replacement for videomixer) and OpenGL mixer elements (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), which were previously located in the "gst-plugins-bad" set;
  • A new mode field interleaving has been added, where each buffer is processed as a separate field in interlaced video with separation of the top and bottom fields at the level of flags tied to the buffer;
  • Support for the WebM format and content encryption has been added to the Matroska media container unpacker.
  • A new wpesrc element has been added, functioning as a browser based on the engine. WebKit WPE (allows processing browser output as a data source);
  • For Video4Linux, support has been added for encoding and decoding HEVC, JPEG encoding, and improved dmabuf import/export;
  • The video decoder using NVIDIA GPU hardware acceleration has been enhanced to support VP8/VP9 decoding, and the encoder now supports hardware-accelerated H.265/HEVC encoding;
  • Numerous improvements have been made to the msdk plugin, allowing the use of hardware acceleration for encoding and decoding on Intel chips (based on the Intel Media SDK). This includes support for dmabuf import/export, VP9 decoding, 10-bit HEVC encoding, video post-processing, and dynamic resolution scaling;
  • Support for processing multiple overlapping subtitles with simultaneous display on the screen has been added to the ASS/SSA subtitle rendering system;
  • Full support for the Meson build system, which is now recommended for building GStreamer on all platforms, has been implemented. Support for Autotools is expected to be removed in the next branch;
  • GStreamer now includes bindings for development in the Rust programming language and a module with plugins written in Rust;
  • Performance optimization has been conducted.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster