GStreamer Training: from the first pipeline to handling threads
Written by
Diego NietoDecember 27, 2023
What is a GStreamer training?
As we know, GStreamer is an extensive framework focused on multimedia processing, but it is also flexible to do so much more. That’s why it is no surprise that more companies are choosing it to develop their products or solutions.
For example, a company from the automotive sector contacted us recently with one request: to give GStreamer Training to some of its professionals who were newcomers to the framework. We completed the job by delivering a program focused on explaining the fundamentals of the framework step by step.
But how can this kind of training benefit my business, and how does Fluendo’s team do it? Let’s talk about it and answer some questions!
Will I become a GStreamer expert after the training?
Our main goal with this course is to introduce you to the library, give you a big picture of the everyday tasks we can do with GStreamer, and describe the elements and objects involved in these processes. You will learn the fundamentals of writing a plugin, whether it is a filter, a demuxer, a decoder, a source, or a sink.
To do that, we first present an overview of the main objects of the framework. In this way, you can understand the functionality underneath this big architecture.
Once we can visualize the concept of a pipeline, it is time to cover the fundamental objects we can find there. We were talking about:
- GObject
- GLib Dynamic Type system
- GObject signals and properties
Most of the GStreamer development relies on GLib, so knowing its fundamental objects is the key to understanding the GStreamer framework.
After that, we are ready to learn the concepts from the GStreamer base classes to the most advanced topics like debugging or threads. Some of them are:
- GstMiniobject
- GstPipeline
- GstPad
- GstVideoDecoder
We have a specific slot for each of them to explain and clarify the doubts that may arise. The idea is to start playing with essential pipelines and finalize with advanced topics like what would change the state in a callback thread in our application.
How is the training structured?
The most important thing is to transmit knowledge. To do that, we structure the training in the following way:
- Half-day sessions → This helps with interiorizing the session. We give you the time to highlight the most important topics and what you think needs to be refreshed in the following sessions.
- Practical environment → The concepts are combined with real examples to acquire the experience.
- On-demand questions → The teachers solve questions in real time so the attendees can continue learning.
- Full example → We developed our first plugin from scratch.
- Questions slots → There are specific time slots to explain long questions and give more examples about particular training topics.
So how was the latest training?
Regarding the automotive company that contacted us, the attendees were very interested in the topics covered, and many questions were asked during the presentations. During the practical sessions, we were playing in real-time with prepared examples. We also looked for extra examples during the questions.
If something needed to be clarified, we reviewed it. We did an on-demand recap to ensure the content was properly understood before continuing the next sessions. The attendees actively participated during the whole course, so we often had discussions about the topic we were explaining at that moment.
In conclusion, we proudly introduce them to GStreamer with our training to gather more people in this big community. It was a pleasure to share our knowledge with them, although we aim to continuously improve the course by adding the latest features and examples.
How can I take a Fluendo GStreamer course?
Are you looking for multimedia solutions? GStreamer is here to help. Whether you’re a beginner or looking to expand your knowledge, our GStreamer training is designed to meet your needs. Unlock GStreamer’s full potential by contacting us here!