Sequence is proud to announce WebRTCSink, a comprehensive Rust-based GStreamer element for WebRTC streaming, designed to handle encoding, congestion control, and packet loss mitigation automatically. Built on top of webrtcbin, it functions as a sendonly sink that accepts raw audio/video streams and manages the encoding process.
Key Features:
Configurable codec selection through properties
Built-in signalling protocol with optional custom implementation
Dynamic bitrate adjustment based on network congestion
Packet loss mitigation through retransmission and Forward Error Correction (FEC)
Real-time statistics monitoring and visualization
The element requires the latest GStreamer main branch and will be included in the upcoming 1.20 release.
Development roadmap:
Rust-based signalling server
Additional congestion control algorithms
flexfec implementation
Comprehensive integration testing
Special thanks to Mathieu Duponchelle for the initial implementation! View the source here: https://github.com/centricular/webrtcsink