6-10 October 2024
Concordia University Conference Centre
America/New_York timezone

LiveKit Support for GStreamer WebRTC Elements

7 Oct 2024, 14:55
20m
Room 1

Room 1

Speaker

Jordan Yelloz

Description

The GStreamer Rust plugins include generic source and sink elements for unidirectional WebRTC communications with no application code necessary in many cases. However, each WebRTC server has its own signalling protocol and to interact with any specific WebRTC implementation, a client must be implemented to perform WebRTC signalling over that protocol. A signalling protocol client as well as both a source and sink element have been implemented that interoperate with the LiveKit WebRTC server.
This presentation will discuss the implementation of both the source and sink elements and the complexities associated with them. Furthermore, it will introduce some extra features specific to LiveKit that have been implemented in addition to basic WebRTC communications.
The first feature added was video simulcasts which allows the sink to send multiple versions of the same video track to the LiveKit server at multiple qualities while the LiveKit server will choose what version to send to each receiver in the same room based on each receiver's network connection quality and preferences. The presentation will discuss how it was implemented as well as the internal design changes needed to support this feature.
Also, support for LiveKit's end-to-end encryption scheme was implemented for use cases that do not trust the key exchange and point-to-point encryption associated with a WebRTC Selective Forwarding Unit. The presentation will discuss the cryptographic filter elements, how they are integrated with the webrtcsrc and webrtcsink elements, and the codec-specific challenges encountered during development of this feature.

Speaker bio Jordan Yelloz is a Software Engineer at Collabora based in Northern Colorado, USA. He has been developing primarily with GStreamer projects since early 2022 and has previously worked for Amazon Prime Video and a few smaller companies over the years in areas such as digital printing automation and digital audio.
Duration of the talk

Primary author

Presentation Materials

2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer