WebRTC.rs is an async-friendly WebRTC implementation in Rust that enables peer-to-peer real-time communication in Rust applications.
The project solves the problem of building WebRTC applications in Rust by providing a clean, ergonomic API built on a Sans-I/O core. This architecture separates I/O concerns from protocol logic, allowing the implementation to remain runtime-agnostic. The tool ships with support for both Tokio and smol runtimes, and any other async runtime can be integrated by implementing a single trait.
Developers should choose this tool if they are building real-time communication features in Rust and want to avoid the complexity of binding to native WebRTC libraries. The project suits applications requiring peer-to-peer audio, video, or data channel communication where Rust's type safety and performance are valued. The Sans-I/O design means the core protocol logic is testable and portable without being tied to a specific runtime, making it flexible for different deployment scenarios.
The project maintains active development with regular updates and demonstrates sustained engineering effort. The codebase includes comprehensive test coverage and maintains dependency health. Community engagement is supported through multiple channels including Discord and social media presence. The project follows semantic versioning to provide clear expectations about compatibility across releases.