A pure Rust implementation of WebRTC stack. Rewrite Pion WebRTC stack in Rust
Sponsored with 💖 by
Table of Content
WebRTC.rs is a pure Rust implementation of WebRTC stack, which rewrites Pion stack in Rust.
Peer
Media
Data
RTP
RTCP
SRTP
SCTP
DTLS
mDNS
STUN
TURN
ICE
SDP
Util
webrtc-rs currently requires Rust 1.52.1+ to build.
All webrtc dependent crates are added as submodules of this repository under /crates/.
git clone https://github.com/webrtc-rs/webrtc
cd webrtc
git submodule update --init --recursive
To build all webrtc dependent crates:
cd webrtc/crates
cargo build [or clippy or test or fmt]
To build webrtc crate:
cd webrtc
cargo build [or clippy or test or fmt]
Follows this instruction about how to replace dependencies with patch for local testing: https://doc.rust-lang.org/edition-guide/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html
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.
Contributors or Pull Requests are Welcome!!!