📝 WebRTC.rs Blog
Latest Posts
Announcing rtc 0.5.0: Enhanced Simulcast Support and API Refinements 🚀
We're excited to announce rtc 0.5.0, bringing comprehensive simulcast support and significant API improvements to our sans-I/O WebRTC stack.
This release introduces first-class support for multiple RTP encodings per track, enabling advanced features like simulcast and SVC. The API has been refined to better represent WebRTC's multi-encoding model, making it easier to work with modern video streaming scenarios.
Building WebRTC's Pipeline with sansio::Protocol: A Transport-Agnostic Approach
WebRTC is not a single protocol but a stack of tightly interrelated protocols: ICE for connectivity, DTLS for security, SCTP for reliable data channels, and SRTP for media transport.
This article explores building WebRTC as a pure protocol pipeline using the sans-I/O pattern. By separating protocol logic from all I/O concerns, we can model WebRTC as a sequence of composable handlers, each acting as a deterministic state machine.
Announcing rtc 0.3.0: Sans-I/O WebRTC Stack for Rust 🎉
I'm excited to announce the first public release of rtc, a pure Rust WebRTC implementation built on a sans-I/O architecture.
Sans-I/O (without I/O) is a design pattern where the library handles all protocol logic, but you control the I/O operations. This architecture provides runtime independence, full control over threading and scheduling, better testability, and flexible integration options.