
GStreamer training: streamlining development for agile collaboration

Written by
Pablo SantanaJune 17, 2026
Recently, Fluendo had the privilege of delivering an in-depth GStreamer training program to a leading defense and electronics company in Turkey. Teaching the intricacies of multimedia frameworks requires absolute clarity since our clients rely on these tools to build complex applications.
While our primary goal is to empower engineering teams, this particular session also marked a significant internal milestone for us. By building on an initiative sparked from Fluendo’s Innovation Days 2025, we have completely reshaped how we build, manage, and deliver our presentation materials. Continue reading to have a look at how we transitioned our training architecture from rigid, traditional presentation formats to a dynamic, developer-friendly ecosystem.
The Challenges of traditional training materials
Building and maintaining technical presentations is usually a friction-heavy process for developers, so far detached from the streamlined workflows and version control systems we use all the time.
Throughout our past teaching experiences, we came to realize our workflow had several recurring bottlenecks:
- Closed-format limitations: Relying on proprietary, closed-format presentation software forced developers out of their natural workflow and required constant context switching. At the same time, there are no real formatting constraints that can also be tracked under a centralized version control.
- Detached code and slides: Presentations and runnable code examples live in different worlds: One in cloud storage, the other versioned in Git. Also, code snippets embedded in the slides are hard to format, and get easily mangled when copying them by text selection.
- Version control nightmares: Tracking changes, branching for specific client needs, and peer-reviewing technical updates are troublesome and prone to noise.
Finding the right tool: The “docs-as-code” approach
The idea of using plain Markdown sources to auto-generate rich content is not new. Tools like Hugo or MkDocs are industry standards, and developers working in agile environments or MLOps are already highly accustomed to this “Docs-as-Code” philosophy.
However, while those tools excel at building static wikis, they aren’t optimized for presentation pacing. We needed a solution that combined the flexibility of Markdown with the visual delivery of a slide deck. Slidev emerged as the perfect fit.
Slidev is an open-source web-based presentation framework powered by Vite and Vue 3, distributed under the MIT License. It parses standard Markdown files extended with YAML configuration and compiles them into single-page web applications. This provides developers with Hot Module Replacement (HMR)—meaning saving a file instantly updates the slide preview in the browser—while allowing the embedding of interactive Vue components directly into the text. These are easy to export then to more portable formats, such as PDF, PNG or PPTX.
Some cool features of Slidev are:
- Interactive browser viewing: Built-in, lightweight browser viewer that supports real-time sharing and syncing across multiple devices.
- Presenter’s tools: Screen-recording mode, as well as a robust presenter view with notes and timers.
- Modular Markdown composition: Content can be spread across topic-specific Markdown files and stitched together effortlessly, making it very easy to adjust topics and schedules based on specific needs!
How we built the new training ecosystem
Transitioning years of training material to a new framework required a solid technological hypothesis and a structured rollout. To embrace the classic engineering principle of separating content from presentation, we divided our architecture into two distinct layers:
Presentation slides
We now keep all our training presentations under strict version control with Git. To keep things modular and maintainable, our training materials are organized into distinct topic blocks, with each module living in its own dedicated Markdown file.
To migrate our legacy PPTX presentations into this new plaintext architecture, we implemented an iterative, AI-assisted workflow:
- Initial export: We exported the original slides (along with the presenter notes) to PDF and passed them through an AI model to extract a baseline plaintext draft. This captured most of the written content on the first pass.
- Providing conversion examples: Once the first file was manually perfected, we used it to create a feedback loop. We passed the original PDF alongside our finalized Markdown back into the model as an input/output example. This few-shot learning approach yielded highly tailored results for subsequent modules, making the process much faster than starting from a blank slate.
- Rigorous manual review: Despite the AI head start, a thorough manual revision was still carried out to ensure absolute technical accuracy and to fix formatting issues and revive any broken or outdated links.
slides/
├── netlify.toml
├── package.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── presentations/
│ ├── media/
│ ├── pages/
│ ├── snippets/
│ ├── themes/
│ │
│ ├── 10-intro-glib.md
│ ├── 20-intro-gobject.md
│ ├── 30-intro-gstreamer.md
│ ├── ...
│ └── 99-slidev-showcase.md
│
├── CONTRIBUTING.md
├── README.md
└── vercel.json
The highly hackable Slidev environment primed us to write some custom conveniences to be used in slides, such as automatic indices, dynamic section dividers, and code-first slide formatting.
Company-wide Slidev theme
In the Slidev ecosystem, a theme is essentially an independent package containing reusable Vue layout templates, global CSS/UnoCSS rules, and custom components.
To solve the historical issue of scattered formatting and fragmented branding, we developed a dedicated, Git-tracked company theme that achieves:
- Centralized aesthetics: Instead of engineers manually styling individual slides, the theme automatically enforces a unified brand identity. It ships out-of-the-box with default Fluendo layouts, typography standards, automated section dividers, and pre-configured title slides.
- Strict separation of concerns: Separating raw content from presentation design means authors need only worry about creating high-quality content in Markdown. Because the theme handles most visual heavy lifting, developers rarely need to do complex styling in plain HTML.
- Future-proof scalability: Because it operates as an independent, version-controlled library, this theme isn’t just limited to our GStreamer trainings. It is a plug-and-play asset ready to be utilized by other departments to standardize technical presentations company-wide.

The Benefits of plaintext presentations
By adopting Slidev and treating our slides like software, we have unlocked a new level of flexibility:
- Format-constant slides: A unified aesthetic that never breaks, no matter who contributes to the deck, decoupled from content so it can be changed anytime. Visual consistency also means less parsing effort for trainees, allowing them to focus more on the actual content!
- Seamless version control: Slides are developed under the exact same peer-review system that we use for our codebase. This reduces friction and allows targeted branching (off a centralized official version) for client-specific content requests, as well as CI/CD automation to auto-export content or automatically verify links.
- Dynamic code variants: We can maintain different code variants within the same source slides and export them specifically for a target programming language. This plays nicely with GStreamer, which is developed and used through different languages such as C and Rust.

Tailoring expertise faster than ever
This internal reshape has radically streamlined our workflow. We are now faster, more collaborative, and fully equipped to yield high-quality, technically rigorous trainings.
Because our architecture is built on flexible code, adjusting our materials to meet specific client demands is easier than ever. Whether your team is optimizing Edge Computing deployments, integrating intelligent models into media pipelines, or just mastering the fundamentals of GStreamer, we can tailor the exact curriculum you need.
Are you ready to level up your team’s GStreamer knowledge? Reach out here for a personalized training program.
