You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WebRTC.rs is an async-friendly WebRTC implementation in Rust, originally inspired by and largely rewriting the Pion
stack. The project is under active development and should be considered early stage; please refer to the
Roadmap for planned milestones and releases.
The Examples demonstrate how to build
media and data-channel applications using webrtc-rs.
The project is shifting its focus toward a Sans-IO WebRTC implementation in Rust.
Going forward, the webrtc-rs/webrtc crate will be built on top of the
webrtc-rs/rtc crate, which provides a clean, protocol-centric Sans-IO core.
This architecture enables a fully async-friendly WebRTC implementation in Rust.
All webrtc dependent crates and examples are included in this repository at the top level in a Cargo workspace.
To build all webrtc examples:
cd examples
cargo test# build all examples (maybe very slow)#[ or just build single example (much faster)
cargo build --example play-from-disk-vpx # build play-from-disk-vpx example only
cargo build --example play-from-disk-h264 # build play-from-disk-h264 example only#...#]
To build webrtc crate:
cargo build [or clippy or test or fmt]
Open Source License
Dual licensing under both MIT and Apache-2.0 is the currently accepted standard by the Rust language community and has
been used for both the compiler and many public libraries since (
see https://doc.rust-lang.org/1.6.0/complement-project-faq.html#why-dual-mitasl2-license). In order to match the
community standards, webrtc-rs is using the dual MIT+Apache-2.0 license.