GStreamer 1.16.0 multimedia framework available

After over a year of development took place Release GStreamer 1.16, a cross-platform set of components written in C for building 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. Updates to gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, as well as gst-libav 1.16 wrapping and gst-rtsp-server 1.16 streaming server are available at the same time. At the API and ABI level, the new release is backward compatible with the 1.0 branch. Binary builds coming soon will be prepared for Android, iOS, macOS and Windows (in Linux it is recommended to use packages from the distribution).

Key improvements GStreamer 1.16:

  • The WebRTC stack has added support for P2P data channels implemented using the SCTP protocol, as well as support for the BUNDLE for sending different types of multimedia data within one connection and the ability to work with multiple TURN servers (STUN extension to bypass address translators);
  • Added support for the AV1 video codec in Matroska (MKV) and QuickTime/MP4 containers. Additional AV1 settings have been implemented and the number of input data formats supported by the encoder has been expanded;
  • Added support closed captioning, as well as the ability to identify and extract other types of integrated data from video ANC (Ancillary Data, additional information, such as audio and metadata, transmitted through digital interfaces in the non-displayed parts of the scan lines);
  • Added support for uncoded (raw) audio without alternating audio channels in memory (Non-Interleaved, left and right audio channels are placed in separate blocks, instead of alternating channels in the form β€œLEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT”);
  • Moved to the base set of plugins (gst-plugins-base) GstVideoAggregator (class for mixing raw video), composer (an improved replacement for videomixer) and OpenGL mixer elements (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), which were previously placed in the β€œgst-plugins-bad” set;
  • Added new mode field alternation, in which each buffer is processed as a separate field in interlaced video with the separation of the upper and lower fields at the level of flags associated with the buffer;
  • Support for the WebM format and content encryption has been added to the Matroska media container unpacker;
  • Added a new wpesrc element that works as an engine-based browser WebKit WPE (allows you to treat browser output as a data source);
  • Video4Linux provides support for HEVC encoding and decoding, JPEG encoding and improved dmabuf import and export;
  • Support for VP8/VP9 decoding has been added to the video decoder using NVIDIA hardware accelerated GPU, and support for H.265/HEVC hardware accelerated encoding has been added to the encoder;
  • Numerous improvements have been made to the msdk plugin, which allows the use of hardware acceleration for encoding and decoding on Intel chips (based on the Intel Media SDK). This includes added support for dmabuf import/export, VP9 decoding, 10-bit HEVC encoding, video post-processing and dynamic resolution change;
  • The ASS/SSA subtitle rendering system has added support for processing multiple subtitles that intersect in time and display them simultaneously on the screen;
  • Full support has been provided for the Meson build system, which is now recommended for building GStreamer on all platforms. Removal of Autotools support is expected in the next branch;
  • The main structure of GStreamer includes bindings for development in the Rust language and a module with plugins in Rust;
  • Performance optimization has been carried out.

Source: opennet.ru

Add a comment