Speaker
Description
HTTP Live Streaming (HLS), a widely adopted protocol for live video streaming, and has been supported by GStreamer for a long time. HLS enables streaming of multiple formats and bitrates, allowing players to dynamically adjust their streaming quality based on network conditions for ensuring optimal viewer experience.
The HLS specification introduced alternate renditions and variant streams, features that allow the inclusion of multiple language options and video qualities within a single stream. This functionality is implemented through a hierarchical playlist structure: a top-level 'master playlist' that outlines the available streams and renditions, complemented by individual 'media playlists' for each variant.
While client-side support for consuming master playlists has long been available, the existing GStreamer HLS stream creation elements were limited. They only supported the production of media playlists for individual variants. Application developers had to manage individual media playlist pipelines and generate the master playlist themselves.
This talk will explore the design and implementation of a new GStreamer convenience bin that generates master playlists with variant streams and alternate renditions. Additionally, we'll discuss planned enhancements and potential feature additions to further improve this functionality.
Speaker bio | Sanchayan works at asymptotic.io, an open source consulting firm based out of Bangalore and Toronto. He doesn't believe in staying in a lane and has worked on micro-controllers, Linux kernel drivers and also on libraries in the Haskell ecosystem. In recent times, he's worked on media processing services using GStreamer, QUIC and HLS. He's a self-declared metalhead, which probably explains why he likes Rust so much. He is a familiar face at the Bangalore Haskell and Rust meetups, which he also organises. |
---|---|
Duration of the talk |