GStreamer's GstStructure
is using GQuark
s for the string name and field names. GQuark
is an API for uniquely representing a string by an integer, and while this property has some theoretical performance advantages it also comes with various disadvantages that cause problems in practice.
In this lightning talk I will explain these problems, and present a solution for this, which...
Do you have a messy room in the background and you are about to jump on a video call? No worries, use Silhouette!
Silhouette is a desktop application that connects to your camera via PipeWire and exposes a PipeWire virtual camera device, using a GStreamer pipeline in the middle to filter the camera stream. In its initial implementation, it uses an ONNX model to remove the background and...
Fluster is a testing framework written in Python for decoder conformance. I would like to share the great work and progress made since last year and the project roadmap. I will list some improvements, including more decoders and test suites, new installation methods, and more.
This will present some new elements written in rust that are being developed to leverage skia to draw inside GStreamer.
As part of a project sponsored by the Sovereign Tech Fund (STF), new GStreamer RTP payloaders and depayloaders for all relevant formats were developed in Rust, together with new base classes and RTP packet parsing / writing implementations. These can act as drop-in replacement for the old RTP payloaders and depayloaders.
In this lightning talk I will present the results of this work,...
We have been exploring using web frameworks (like d3 and three.js) to build out compelling graphics that we can stream using cefsrc.
An update to last year's talk 'Closed Captions: What GStreamer Can Do' outlining some of the new additions in GStreamer's closed caption story.
Describe the ongoing work to develop a simple H.264 encoder base class for VA and Vulkan
This presentation discusses effects of a Gstreamer version upgrade on Yocto-based application. Discussion items include :
system behavior changes observed
defaults that changed in gstreamer
adjustments we made for optimal outcomes.
elements/components that we expected and disappeared
This lightning talk will be a very short introduction to the GStreamer validation framework and will expose the new features that have been developed in the last few years to make testing and debugging GStreamer a more pleasant task.
We will describe how we use Cerbero at Fluendo, the problems we have faced, and how we plan to overcome them by upstreaming Cerbero's testing capabilities.
Once again, I would like to share the great work and huge progress made in the V4L2 GStreamer plugin and highlight the contributors working hard behind the scene.
In this lightning talk, I will showcase a new web browser source plugin for Windows
Here we show how to use the intersink/intersrc elements for creating independent GStreamer pipelines that can be connected and manipulated live.
Here we show how to use a gstreamer plugin element for inserting id3 tags inside transport stream
Some years ago I had hacked together a mechanism to record video clips from a live stream on-demand without having to re-encode them. While there are closed source offerings by Nvidia, etc for the same; I thought it shouldn't be so difficult to build an open source version of it. I'd like to share some of my learnings from the process of developing it in this talk.
When you split a pipeline using a tee, it means resynchronization two threads afterwards. In the specific case where one branch just produces new Meta, we created an alternative. Introducing the original buffer elements.