Skip to content

A lightweight and native WebRTC plugin for Tauri, built to enable real-time communication in desktop applications. It provides simple APIs for creating peer connections, handling signaling, and sending/receiving data channels. Ideal for chat systems, voice/video features, or any P2P communication inside a Tauri app.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE-2.0
MIT
LICENSE_MIT
Notifications You must be signed in to change notification settings

amitnos123/tauri-plugin-rtc

Repository files navigation

Tauri Plugin RTC

License

tauri-plugin-rtc

A lightweight, native WebRTC plugin for Tauri that brings RTCPeerConnection, RTCDataChannel, and related WebRTC APIs to desktop applications. Designed as a drop-in bridge between Tauri and Rust’s webrtc-rs stack, providing an easy, familiar API for real-time communication (audio, video, and data) in your Tauri apps.

This plugin is built on top of webrtc-rs crate — a full, native Rust implementation of the WebRTC stack based on Google's C++ WebRTC project.

https://w3c.github.io/webrtc-pc/

Platform Supported
Linux not tested
Windows not tested
macOS not tested
Android not tested
iOS not tested

Installation

Usage

TypeScript/JavaScript

Rust

📐 WebRTC Specification & Documentation References

This project aims to closely follow the official W3C WebRTC specification to ensure correctness, predictability, and compatibility with standard WebRTC behavior.

Primary Specification (Source of Truth)

The API surface, state transitions, and semantics are based on the W3C WebRTC 1.0 specification:

The W3C specification is treated as the normative reference, especially for:

  • API shape and naming
  • Read-only vs mutable properties
  • Nullability and lifecycle behavior
  • State machines and invariants

Developer Documentation & Examples

For explanatory material, usage examples, and practical guidance, this project also references:

MDN is used as a secondary, non-normative resource, primarily for:

  • Human-readable explanations
  • Common usage patterns
  • Browser behavior notes

Design Philosophy

The goal of this project is to provide a WebRTC-compatible API surface that:

  • Matches W3C WebIDL semantics where applicable
  • Feels familiar to developers with browser WebRTC experience
  • Balances specification fidelity with practical TypeScript ergonomics

Where deviations from the specification exist, they are intentional and documented.

Licenses

MIT or MIT/Apache 2.0 where applicable.

About

A lightweight and native WebRTC plugin for Tauri, built to enable real-time communication in desktop applications. It provides simple APIs for creating peer connections, handling signaling, and sending/receiving data channels. Ideal for chat systems, voice/video features, or any P2P communication inside a Tauri app.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE-2.0
MIT
LICENSE_MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published