We all know that GStreamer is a (relatively) popular framework for processing media on consumer devices, be it desktops, robots, cars, phones, and so on. However, when we talk about server-side media processing, arguably GStreamer is still not quite as popular as it could be.
Daily is a video/voice calling platform-as-a-service that offers a browser- and
libwebrtc-based SDK for to make calls using WebRTC. The service includes a number of features that involve media processing in the backend such as recording, live streaming, transcription, media ingestion, and SIP interoperability. All these services have been built using GStreamer.
In this talk, we will walk through the overall architecture of these services, and some interesting problems we came across while implementing them. We will then reflect on what we’ve learned from using GStreamer in these scenarios and how we might improve the experience for others who might want to tread this path.
|Speaker bio||Arun is a developer/maintainer of GStreamer, PulseAudio and PipeWire, and the founder of Asymptotic, which provides consulting services around these projects. He enjoys working in the lower layers of the system stack, long walks on the beach, and thinking about the impact of modern type-safe languages on software development.|