Webrtc

webrtc

製品情報

お気に入り

プログラミング言語

公開チャット

サポートプラン

現在利用可能なOSSプランはありません

リポジトリのプロバイダーまたは寄稿者である場合は、OSSプランの追加を開始できます。

OSSプランを追加する
Learn more here

このOSSプランをお探しの場合は、お問い合わせください

製品詳細

A pure Rust implementation of WebRTC

WebRTC.rs

License: MIT/Apache 2.0 Discord Twitter

A pure Rust implementation of WebRTC stack. Rewrite Pion WebRTC stack in Rust

Sponsored with 💖 by

Silver Sponsors:
Stream Chat
ChannelTalk
Bronze Sponsors:
KittyCAD
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

WebRTC Crates Dependency Graph

WebRTC Stack

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.

Stay in touch

  • ビジネスおよび開発者向けの実用的な最新情報をご希望ですか?
  • ソースコードプロジェクトに対するPieceXコミュニティのニーズについてご提供します。
  • PieceXの最新の無料コミュニティコードプロジェクトをいち早くお知らせします。
PieceX Logo