GStreamer 1.22 saw the introduction of a new plugin for adaptive playback of HLS, DASH and MSS streams. The new elements take a substantially different approach to playing those types of streams, with better buffering and bitrate selection as well as features like LL-HLS playback.
This talk will explain how these elements improve upon the older adaptive demuxers and how they work.
After an overview of the basic components needed to establish a WebRTC connection, this talk will present how GStreamer is providing user-friendly solutions to handle bi-directional communications with the webrtcsink and webrtcsrc elements. It will also present how those elements can communicate transparently with web browsers using the gstwebrtc javascript API.
With the growing power of machine-learning, the time has come for GStreamer to support complex, platform-independent analytic pipelines for tracking, super-resolution, noise filtering, speech recognition and more general analysis of timed data streams. We discuss a new flexible and efficient design to address these problems, without vendor or framework lock-in, which can easily interoperate...
In this talk, RidgeRun shares techniques used to develop GstPluginPylon, an open-source project with a source element that adapts its properties and behaviors based on the specific camera models connected to the system. By utilizing introspection, child proxy, advanced GObject, and other APIs, the pylonsrc element can discover devices, probe their capabilities, and expose them as GObject...
Closed captions are an auxiliary stream that may contain subtitles, and other informational data along side the video frames they are associated with. For this talk, we will mostly talk about subtitling with both CTA-608 and CTA-708 data and look at some of the things that GStreamer can do with closed captions.
A brief overview of a few new elements for use in a speech to closed captions pipeline, the challenges with respect to latency and synchronization, and aspects that could still be improved.
News for GStreamer VA-API
- Present GstVA and its library
- Talk about the deprecation of GStreamer-VAAPI
- Present the new DMABuf negotiation mechanism
- Discuss the deprecation of the presentation layer on libva
- Share the new va driver for windows (d3d11 bridge)
- Talk about encoders and the proposal of a new base class for hwaccel encoders
- Discuss with the community about...
GStreamer is a powerful multimedia framework allowing users to build all possible types of media pipelines. However, complex pipeline development can be challenging to follow and debug. To address this, we propose DgiStreamer, a one-stop solution with a graph-based UI and connection type validation. DgiStreamer simplifies pipeline development, visualizes the flow, and ensures pads type...
Emacs, Vim or ... VScode? Launched publicly in 2016, Visual Studio Code has quickly become the preferred IDE among professional developers, with a 74% share among all IDEs based on StackOverflow's 2023 annual survey.
During this year, several efforts have been made in Meson, its VScode plugin and GStreamer itself resulting in a seamless user experience to hack on GStreamer with VSCode,...
WebRTC has become ubiquitous as the technology powering various forms of video experiences online. While Session Initiation Protocol (SIP) predated WebRTC by 12 years, and had become the predominant protocol used to set up real-time media sessions between groups of users, WebRTC looked to add real-time media i.e. audio, video to every web browser without the need of a separate soft phone...
WirePlumber is the default session manager of PipeWire, the powerful multimedia IPC framework that has become the standard for low-latency audio, Bluetooth audio, video capture and many more use cases on modern Linux systems. WirePlumber 0.4 featured a Lua scripting mechanism that was meant to make it easy to write custom policies, but in practice it turned out to be cumbersome. In the...
Fluster is an open-source, OS-independent, testing framework written in Python for multimedia decoder conformance. Its purpose is to check various implementations against reference test suites with known and proven results. The decoders can be standalone executables, as well as GStreamer- or FFmpeg-based. The tool was originally designed to check the conformance of H.265/HEVC decoders,...
MPEG-5 part 2 LCEVC (Low Complexity Enhancement Video Coding) is the latest standard by MPEG and ISO. However, this one is different to typical codecs, instead it acts as a layer on top of existing codecs to improve their compression efficiency (better quality at lower bitrates) and reduce transcoding compute requirements. The LCEVC data is carried along with metadata in the actual video...
It is about one interesting side of the GObject, that allows us to use in runtime an already registered gstreamer element as a base class, and therefore register a new gstreamer element that would contain certain modifications or interceptions applied to the original one.
In particular this can be interesting because it allows to intercept the behaviour of an element, the code of which we...
Axis Network surveillance cameras provide network streams for video, audio and a multiplexed stream of various auxiliary streams such as video analytics, events and much more. The metadata can be used to optimize and enhance many cases and can be very beneficial in many surveillance uses cases, such as detect motion, combine video streams with radar, licence plate recognition and much more....
The Windows operating system, in its three or so decades of existence, has introduced at least four different APIs dedicated to multimedia encoding or decoding. Wine, as a Free Software replacement of Windows, implements most of those APIs using GStreamer as a backend.
In this presentation I intend to talk about our experiences working with GStreamer as a backend, and its advantages and...
At Spiideo we offer automated sports video solutions to our customers for recording, analysis and broadcasting. We use a multi-camera setup to create a stitched panoramic video with an AI assisted cameraman.
This talk will showcase how we moved from a segment based system with a glass-to-glass latency of almost two minutes to a frame-based system with a latency of around three...