title |
author |
theme |
classoption |
A Day in the Life of a Media Plumber |
|
|
|
|
Who
- Who am I?
- Embedded Systems background
- Prefer C, Haskell and Rust
- Organize and speak at Rust and Haskell meet-ups in Bangalore
- Work?
- Software Engineer @ asymptotic
- Open source consulting firm based out of Bangalore and Toronto
- Work on low level systems software centred around multimedia
- GStreamer, PipeWire, PulseAudio
- Language Polyglots
Open source contributions
GStreamer
- Multiplatform Pipeline based multimedia framework
- Bindings for various languages
- Allows building complex media processing workflows
- Some applications
- PiTiVi (Video Editor)
- amaroK, Banshee, Clementine (audio players)
- Empathy (VOIP and video conferencing)
- GstLAL (gravitational wave data analysis)
- Rygel (DLNA streaming server and renderer)
- Totem (movie player for the GNOME desktop)
Simple pipeline
gst-launch-1.0 videotestsrc ! autovideosink
gst-launch-1.0 audiotestsrc ! autoaudiosink
Media pipeline1
{width=80%}
Internals2
{width=60%}
Alpha compositing3
Demo
Rounded corners
{width=60%}
gst-launch-1.0 filesrc location=bunny.mp4 ! decodebin ! videoconvert !
roundedcorners border-radius-px=100 ! videoconvert ! gtksink
Getting started
Questions