30 open-source projects similar to webrtc-rs/webrtc, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints. The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SI
This repository provides a collection of reference implementations and practical demonstrations for using WebRTC to establish real-time audio, video, and data communication. It contains code samples for negotiating peer-to-peer connections, managing media streams, and utilizing low-latency data channels. The project demonstrates the capture of audio and video from hardware devices, as well as the redirection of canvas element content into media streams. It includes examples of transferring arbitrary text and binary data between peers and managing the negotiation of direct connections. The sa
SimpleWebRTC is a communication framework and real-time media streaming library designed to establish peer-to-peer audio, video, and data streams between web clients. It provides a conference room manager to organize multiple participants into virtual rooms for group interaction. The framework includes a dedicated system for peer-to-peer file transfers and low-latency data messaging. It also features a network traversal configuration tool for managing the servers required to maintain connectivity across firewalls and restrictive network environments. The project covers broad capability areas
simple-peer is a JavaScript library that provides a wrapper for WebRTC to simplify the establishment of peer-to-peer networking in the browser. It serves as a tool for creating direct device-to-device connections for the transmission of binary data and real-time media streaming. The library manages the exchange of strings and binary buffers through a data channel implementation and provides tools for sharing real-time audio and video tracks between peers. It covers the full lifecycle of peer connectivity, including signaling coordination, session description negotiation, and the gathering of
This project is a comprehensive reference guide and directory of web browser capabilities. It serves as a technical map for accessing native operating system functions, hardware interfaces, and standard web APIs to bridge the gap between web applications and desktop or mobile environments. The resource provides detailed guidance on implementing Progressive Web App features, including offline caching, push notifications, and native installation prompts. It also catalogs methods for interacting with hardware peripherals via USB, Bluetooth, and NFC, as well as reading raw data from device sensor
react-native-webrtc is a mobile framework wrapper and peer-to-peer communication library used to integrate real-time audio, video, and data communication into cross-platform mobile applications. It functions as a tool for capturing device screens and streaming live media content via the WebRTC protocol. The project provides an interface for bidirectional data channels, enabling the exchange of arbitrary data packets between peers without a central relay server. It supports real-time media streaming, including peer-to-peer audio and video transmission and screen capture capabilities. The libr
This project is a browser-based video conferencing platform that facilitates direct, peer-to-peer communication between participants. By utilizing browser-native media capture and direct network connections, it enables real-time audio, video, and screen sharing without relying on central media relay servers. The platform distinguishes itself through its focus on ephemeral, private communication. It generates unique, short-lived session identifiers for virtual rooms that exist only in memory, ensuring that no persistent user accounts or long-term storage are required. To maintain connection st
This project is a reference implementation and framework for building real-time communication systems. It provides an Android demo application for WebRTC video, audio, and data transmission, alongside a communication SDK for integrating instant messaging, VoIP, and multi-party video conferencing into mobile and web applications. The framework includes a P2P media streaming client for direct high-definition transmission between devices and an interactive whiteboard application that synchronizes drawing and screen sharing across connected users. It also provides a foundation for IM and VoIP sys
aiortc is a Python implementation of the WebRTC protocol, providing an asynchronous stack for real-time audio, video, and data streaming between peers. It functions as a media engine and data channel implementation that manages peer connections through a non-blocking framework. The library enables the establishment of direct peer-to-peer networking by negotiating session descriptions and connectivity paths. It facilitates secure, bidirectional data transmission via data channels and supports low-latency media streaming using standard codecs. The system includes capabilities for network NAT t
Simpl is an HTML, CSS, and JavaScript example library that provides a collection of minimal functional demonstrations of core web technologies and native browser APIs. It serves as a reference implementation and pattern gallery for frontend development, offering practical examples of how to implement common web features. The project showcases a wide range of browser capabilities, including real-time web communication via WebSockets and WebRTC, responsive web design techniques for adaptive layouts, and the implementation of offline workflows using service workers. It also provides demonstratio
Hiredis is a minimalistic C client library designed to send commands and receive responses from Redis servers using a binary-safe protocol. It functions as a core toolkit providing a Redis protocol parser, a secure connector, and both synchronous and asynchronous driver interfaces. The library distinguishes itself through a decoupled protocol parser that converts raw byte streams into structured data objects independently of the network transport layer. It supports high-performance pipelining to batch multiple commands into a single network round-trip and provides a secure networking layer fo
PeerJS Server is a WebRTC signaling server and connection broker that coordinates handshakes between clients to establish direct peer-to-peer connections. It functions as a coordination point for discovering peer identifiers and initiating real-time media and data streams between remote browser clients. The project can be deployed as a dedicated signaling server or integrated as Node.js middleware within an existing web application to share a single network port. It manages the lifecycle of peer connections through a centralized signaling process, assigning unique identifiers to clients and m
VDO.Ninja is a low-latency peer-to-peer media routing service and video streaming platform designed to integrate remote audio and video feeds into professional production workflows. It functions as a WebRTC broadcast integration tool and studio controller, allowing for the direct transmission of high-definition media between publishers and viewers with minimal delay. The platform distinguishes itself through extensive protocol bridging, converting between WebRTC, WHIP, WHEP, SRT, and RTMP to ensure compatibility across diverse network environments and professional studio software. It includes
SRS is a real-time media server designed to ingest, route, and distribute live audio and video streams across various transport protocols. It functions as a multi-protocol stream relay, including a dedicated RTMP media gateway and a WebRTC signaling server to coordinate peer-to-peer media exchanges. The system features a multi-protocol relay engine that transforms incoming media packets between different transport formats without re-encoding. This allows it to serve as a video delivery proxy that routes live media from a single source to multiple concurrent viewers using diverse delivery prot
This is a Rust library and peer-to-peer toolkit that implements the WebRTC protocol. It provides a network stack for establishing direct audio, video, and data streaming between peers to achieve low-latency real-time communication. The project is designed as an async-compatible network stack that maintains compatibility across different asynchronous runtimes and executors. It further functions as a deterministic protocol testing tool by separating communication logic from network I/O, allowing protocol behavior to be verified without using live network traffic.
This project is a cross-platform implementation of the WebRTC standard, providing a comprehensive library for building real-time audio, video, and data communication applications. It functions as a peer-to-peer networking framework and media processing engine, enabling direct, low-latency connections between devices without relying on central servers. By strictly adhering to official protocol specifications, the library ensures interoperability with browsers and other native communication software across mobile, desktop, and server environments. The engine distinguishes itself through a modul
This project provides a suite of development kits and frameworks for interacting with Slack, including a Web API client for authenticated requests and the Bolt framework for building asynchronous applications. It serves as a SDK for creating automated bots and integrating external software systems with Slack workspaces. The toolkit includes a specialized Events API client for listening to real-time system triggers and executing custom callback logic. It supports the development of automated assistants capable of sending messages and managing data exchanges via webhooks. The library covers a
This project is a framework for developing multimodal AI agents that function as programmable participants in real-time communication rooms. It enables the construction of agents that can see, hear, and speak by integrating speech-to-text, large language models, and text-to-speech pipelines to facilitate low-latency, natural conversations. The system is distinguished by its advanced orchestration of real-time media and conversational flow, including support for full-duplex speech, preemptive response generation, and sophisticated interruption management. It further differentiates itself throu
Pipecat is a framework and software development kit for building real-time multimodal AI agents and speech-to-speech systems. It utilizes a frame-based data pipeline to route audio, video, and text through a modular sequence of processors, enabling the orchestration of low-latency conversational AI. The project is distinguished by its ability to coordinate complex multimodal services, including speech-to-text, language models, and text-to-speech, within a single pipeline. It features semantic voice activity detection for natural turn-taking, state-machine conversation flows for dialogue manag
Iroh is a peer-to-peer networking stack and distributed system designed for secure direct connections, content-addressed storage, and synchronized data sharing. It provides a foundation for decentralized applications by combining a QUIC-based networking layer with primitives for distributed state and data transfer. The project distinguishes itself through a comprehensive suite of decentralized capabilities, including a distributed data store using conflict-free replicated data types for collaborative synchronization and a content-addressed storage system for verifiable, resumable transfers of
Mirotalksfu is a WebRTC video conferencing platform and AI-integrated meeting suite. It functions as a real-time communication system for hosting high-resolution audio and video meetings, serving as a self-hosted virtual classroom and a collaborative workspace. The platform distinguishes itself by integrating generative AI assistants, speech recognition, and digital avatars into live sessions. It also operates as an RTMP streaming gateway, allowing users to broadcast live meeting content to external audiences and platforms. The system provides a collaboration suite featuring a shared interac
Mirotalk is a self-hosted video conferencing platform and peer-to-peer communication server. It utilizes WebRTC for high-resolution video calls, screen sharing, and real-time audio streaming, operating as a decentralized system that routes media streams directly between participants to ensure privacy and low latency. The platform integrates conversational language models and speech recognition to provide real-time transcription and automated meeting tasks. It also functions as a white-label collaboration suite, allowing users to apply corporate visual identities across the interface and sourc
apprtc is a WebRTC video chat application and signaling server designed to establish peer-to-peer audio and video communication between browsers. It provides a coordination layer using a websocket-based signaling server to exchange session descriptions and network candidates. The project is delivered as a dockerized communication app, allowing for a containerized deployment of the calling service for local development or cloud hosting. It includes a network gateway that integrates STUN and TURN servers to facilitate media flow through firewalls and NATs. The implementation covers peer discov
VidGear is a high-performance Python video processing framework designed for capturing, transcoding, and manipulating video streams. It functions as a multi-protocol video streamer and a WebRTC streaming server, enabling the transfer of video frames over networks using RTSP, RTMP, RTP, and MJPEG protocols. The project distinguishes itself through hardware-accelerated video transcoding and decoding using GPU backends like CUDA to reduce CPU load. It includes a cross-platform screen capture tool and a specialized system for establishing direct peer-to-peer media connections using WebRTC signali
This project is a real-time communication and media streaming server designed for broadcasting, recording, and distributing audio and video content. It functions as a live streaming server and an RTMP media server, providing the infrastructure necessary to deliver real-time media to multiple concurrent viewers over a network. The system distinguishes itself through a multi-protocol media gateway that supports RTMP, E-RTMP v2 for modern codecs like HEVC and AV1, and HTTP media tunneling to bypass restrictive firewalls. It further acts as a real-time communication platform by synchronizing shar
PeerJS is a real-time communication library and framework designed to establish direct peer-to-peer data and media connections between browsers. It provides a simplified wrapper for managing the lifecycles of WebRTC connectivity, enabling the exchange of audio, video, and data without a central relay. The project includes a coordination server that handles signaling management by mapping unique user identities to network connection details. This server facilitates the discovery of remote peers and the exchange of metadata required to perform the initial connection handshake. The framework su
Peer-calls is a self-hosted, browser-based video conferencing platform designed for real-time audio, video, and screen sharing. It functions as a communication server that coordinates peer-to-peer signaling, allowing participants to join private meeting rooms directly through their web browsers without the need for additional software installations. The platform distinguishes itself through a distributed architecture that supports multi-instance scaling and session synchronization. By utilizing a shared data store and a selective forwarding unit, it manages media streams and bandwidth distrib
PeerTube is a decentralized, open-source video hosting platform that enables users to operate independent, interoperable servers. By utilizing the ActivityPub protocol, it connects these servers into a global, federated network where users can follow channels, discover content, and interact across different instances. The platform is designed to function as a self-hosted video content management system, providing a community-driven alternative to centralized media services. What distinguishes PeerTube is its hybrid approach to content delivery and infrastructure management. It integrates peer
Popcorn Time is a cross-platform application that functions as a BitTorrent streaming client, enabling the playback of movies and television shows through sequential data downloading. It serves as a comprehensive media discovery platform and metadata API, providing tools to search, browse, and retrieve detailed information about entertainment content. The platform distinguishes itself through a robust streaming data provider service that maps regional streaming availability and resolves encrypted tokens into secure redirects for external media platforms. It supports global audiences by locali
flv.js is a JavaScript library and HTML5 Media Source Extension wrapper designed to play FLV video and live streams in web browsers. It enables the rendering of FLV content within a standard web video element without the need for external plugins. The project focuses on real-time transmuxing, converting FLV container data into fragmented MP4 segments to ensure browser compatibility. It includes specific implementations for low-latency live streaming and cross-origin video loading via CORS-compliant server headers. The library provides capabilities for segmented media playback, media position