Webrtc
제품 정보
오픈소스 사용 사례
공개 채팅
지원 계획
현재 사용할 수 있는 OSS 플랜이 없습니다.
저장소의 제공자 또는 기여자인 경우 OSS 플랜 추가를 시작할 수 있습니다.
OSS 플랜 추가이 오픈소스에 대한 플랜을 찾고 있다면 저희에게 문의해 주세요.
전문 공급자와 연락하실 수 있도록 도와드리겠습니다.
제품 세부 정보
A pure Rust implementation of WebRTC stack. Rewrite Pion WebRTC stack in Rust
Sponsored with 💖 by
Silver Sponsors:
Bronze Sponsors:
AdrianEddy
Table of Content
- [Overview](#overview) - [Features](#features) - [Building](#building) - [Toolchain](#toolchain) - [Monorepo Setup](#monorepo-setup) - [Open Source License](#open-source-license) - [Contributing](#contributing)Overview
WebRTC.rs is a pure Rust implementation of WebRTC stack, which rewrites Pion stack in Rust. This project is still in active and early development stage, please refer to the Roadmap to track the major milestones and releases. Examples provide code samples to show how to use webrtc-rs to build media and data channel applications.
Features
WebRTC
Media
Interceptor
Data
RTP
RTCP
SRTP
SCTP
DTLS
mDNS
STUN
TURN
ICE
SDP
Util
Building
Toolchain
Minimum Supported Rust Version: 1.65.0
Our minimum supported rust version(MSRV) policy is to support versions of the compiler released within the last six months. We don't eagerly bump the minimum version we support, instead the minimum will be bumped on a needed by needed basis, usually because downstream dependencies force us to.
Note: Changes to the minimum supported version are not consider breaking from a semver perspective.
Monorepo Setup
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]
Devbox
This repo now supports devbox for a better development experience.
In short, devbox allows to define a development environment by modifying the PATH
variable in your shell.
It is based on nix and runs on Linux, MacOS, and WSL.
To use devbox, install it from devbox installation:
curl -fsSL https://get.jetify.com/devbox | bash
Now you can either use the different devbox scripts:
- test it:
devbox run test
- build it:
devbox run build
- format it:
devbux run format
Or you can enter a shell with everything pre-installed:
devbox shell
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.
Contributing
Contributors or Pull Requests are Welcome!!!
If you want to contribute, please be sure to install the pre-commit hooks:
pre-commit install
Or use the devbox environment described above, which will do so automatically.