webrtc-rs/webrtc

Async-friendly WebRTC implementation in Rust

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 13th, 2026
Created on August 15th, 2019
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 517
Total Stargazers: 5,159 (+0)
Total Subscribers: 74 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 14.3 days
Mean response time: 214.4 days
90th percentile: 841.9 days
Tracked items: 234

How this project is maintained

Practically every issue opened in the past year has drawn a reply. 96% of issues opened in the past year have since been closed. Three people close 92% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 1
Closed in 7 days: 3
Avg open age: 597 days
Stale 30+ days: 2
Stale 90+ days: 0

Recent activity

Opened in 7 days: 1
Closed in 7 days: 3
Comments in 7 days: 6
Events in 7 days: 9

Top labels

  • enhancement (22)
  • bug (19)
  • help wanted (14)
  • pre-1.0 (11)
  • good first issue (5)
  • P1 (4)
  • benchmark (4)
  • performance improvement (4)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

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.