/awesome-webrtc

Community list of awesome WebRTC projects, apps, tools, libraries and more.

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome WebRTC Awesome

Community list of awesome projects, apps, tools, libraries and more related to WebRTC.

WebRTC is real-time communication for the web.

Contents

Projects

  • allkaraoke - Online Karaoke game with pitch detection in your browser.
  • Ant Media Server - Live streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency.
  • babelcast - WebRTC audio broadcast server.
  • BigBlueButton - Complete open source web conferencing system.
  • Brie.fi/ng - Secure direct video group chat.
  • Chitchatter - Secure peer-to-peer chat that is serverless, decentralized, and ephemeral.
  • Coplay - Synchronizing video play between two peers.
  • Databag - A tiny selfhosted federated messenger for the decentralized web.
  • Deskreen - Turns any device with a web browser into a secondary screen for your computer.
  • edumeet - Multiparty web-meetings using mediasoup and WebRTC.
  • filedrop - WebRTC E2E encrypted file transfer - React + Node.js.
  • Filegogo - A file transfer tool that can be used in the browser webrtc p2p.
  • FilePizza - Peer-to-peer file transfers in your browser.
  • flok - Web-based P2P collaborative editor for live coding sounds and images.
  • Galene - Videoconferencing server that is easy to deploy and requires moderate server resources.
  • Janus - Open source, general purpose, WebRTC server designed and developed by Meetecho.
  • jsxc - Real-time xmpp chat application with video calls, file transfer and encrypted communication.
  • Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
  • Jitsi Videobridge - WebRTC-compatible Selective Forwarding Unit (SFU), i.e. a multimedia router.
  • GFile - Direct file transfer over WebRTC.
  • Gise Video Chat - Video chat application for your own web server.
  • Kurento - Kurento Media Server is responsible for media transmission, processing, loading and recording.
  • kollokvium - Online meetings made easy, secure and private for everyone.
  • laplace - Laplace is an open-source project to enable screen sharing directly via browser.
  • Metastream - Watch streaming media with friends.
  • MiroTalk P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.
  • MiroTalk SFU - Simple, Secure, Scalable Real-Time Video Conferences Up to 4k, compatible with all browsers and platforms.
  • MiroTalk WebRTC Live Broadcast - Allows to broadcast live video, audio and screen stream to all connected users (viewers).
  • neko - A self hosted virtual browser that runs in docker and uses WebRTC.
  • Nettu Meet - Open source video conferencing system for tutors.
  • Odin - An open-source screen recorder built with web technology.
  • OvenPlayer - OvenPlayer is JavaScript-based LLHLS and WebRTC Player for OvenMediaEngine.
  • OpenVidu - Create custom videoconference services with ease.
  • otr.to - A secure peer-to-peer chat in your web browser.
  • PairDrop - Local file sharing in your browser.
  • Parkerr - Parking detection and monitoring webapp that runs entirely in the browser.
  • pear-rec - Screenshot, screen recording, audio recording, and video recording software based on Electron.
  • peermesh - Exchange files p2p and e2e encrypted over a fully meshed network in your browser using WebRTC.
  • persianmeet - Free Adobe Connect Alternatives.
  • picklecast - Share your screen to a projector with only a web-browser.
  • Pipe File Transfer - Web application for real-time file transfer using WebRTC.
  • Plug-N-Meet - WebRTC based Scalable, High Performance, Open source web conferencing system using Livekit.
  • Project Lightspeed - A self contained OBS -> FTL -> WebRTC live streaming server. Comprised of 3 parts once configured anyone can achieve sub-second OBS to the browser livestreaming.
  • Project S.A.T.U.R.D.A.Y - A toolbox for working with WebRTC, Audio and AI.
  • Pychat - Webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing.
  • quik - Free video conferencing over WebRTC in Go.
  • quickmeet - A video chat/meeting webapp using WebRTC and WebSockets. Basically a Google Meet clone + a collaborative Whiteboard.
  • React-VideoCall - WebRTC-React App for Video Calling.
  • remotecontrol-desktop - Remote Control Desktop is a robust, reliable and fast remote desktop software for Windows / macOS / Linux.
  • Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway).
  • rtwatch - Watch videos with friends using WebRTC, let the server do the pausing and seeking.
  • screensy - Simple peer-to-peer screen sharing.
  • selkies-gstreamer - Open-Source Low-Latency Linux WebRTC HTML5 Remote Desktop / GStreamer WebRTC Components of Selkies.
  • ShareDrop - Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop.
  • Snapdrop - A Progressive Web App for local file sharing.
  • Spreen - The Screen Sharing App.
  • sshx - P2P SSH using WebRTC.
  • Talk - Group video call for the web. No signups. No downloads.
  • talkhouse - WebRTC based peer to peer voice, video calling and messaging web app build with MERN stack.
  • tiny-web-metaverse - A web-based 3D virtual space lightweight framework with high flexibility, extensibility, and easy hosting, built on ECS architecture.
  • tl-rtc-file-tool - WebRTC P2P online web media streaming tool (for files, video, screen, live streaming, text) with management and statistical monitoring capabilities.
  • Trio Calls - A multi-participant video call platform for calling across the world for free with screen sharing.
  • TStream - Live streaming from your terminal.
  • uProxy - Browser extension that lets users share their internet connection.
  • UltraScreen - Share your screen.
  • VDO.Ninja - Powerful tool that lets you bring remote video feeds into OBS or other studio software via WebRTC.
  • webrtc-cli - WebRTC command-line peer.
  • WebDrop - Easiest group P2P File & Message transfer in browser with WebRTC.
  • WebTorrent - Streaming torrent client for the web.
  • Wirow - A full featured self-hosted video web-conferencing platform.
  • wireless-microphone - Turn any device into a wireless microphone over the internet.
  • zero-share - A client-side secure P2P file sharing using WebRTC.

JavaScript

  • adapter.js - JavaScript shim for abstracting WebRTC spec changes and inconsistencies.
  • data-transport - A simple and responsible universal transport.
  • DetectRTC - A tiny JavaScript library that can be used to detect WebRTC features e.g. system having speakers, microphone or webcam, screen capturing is supported, number of audio/video devices etc.
  • discovery-swarm-webrtc - Discovery-swarm for WebRTC.
  • hyperhost - P2P Node Servers in the Browser.
  • instacam - Library to perform instant canvas video through the WebRTC API with a fresh touch of CSS filters.
  • liowebrtc - An event-based WebRTC library that makes it easy to embed real-time peer to peer communication into UI components.
  • LiveKit browser client SDK - Add real-time video, audio and data features to your JavaScript/TypeScript app.
  • MediaStreamRecorder - Cross browser audio/video/screen recording.
  • MultiStreamsMixer - JavaScript library that allows you pass multiple streams (e.g. screen+camera or multiple-cameras) and get single stream.
  • NetplayJS - Make P2P multiplayer browser games, no server hosting or synchronization code required, powered by rollback netcode + WebRTC.
  • P2P Media Loader - An open-source engine for P2P streaming of live and on demand video directly in a web browser HTML page.
  • PeerLite - Lightweight WebRTC browser library that supports video, audio and data channels.
  • peerjs - Simple peer-to-peer with WebRTC.
  • peerfetch - Peer-to-peer HTTP over WebRTC.
  • RTCMultiConnection - WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc).
  • RecordRTC - WebRTC JavaScript library for audio/video as well as screen activity recording.
  • simple-peer - Simple WebRTC video, voice, and data channels.
  • simple-peer-files - A library to send files over WebRTC.
  • trystero - Build instant multiplayer webapps, no server required.
  • video-stream-merger - Merge multiple video MediaStreams into one composite.
  • webConnect.js - WebRTC peer-to-peer connection without signaling server.
  • WebRTCStats - Helps you collect stats for peer connections.
  • webrtc-issue-detector - Diagnostic tool and troubleshooter for WebRTC applications with Mean Opinion Score (MOS) calculator.

Node

  • mediasoup - Cutting Edge WebRTC Video Conferencing.
  • medooze-media-server - WebRTC Media Server for Node.js.
  • node-datachannel - Easy to use WebRTC data channels and media transport. libdatachannel node bindings.
  • node-webrtc - Node.js Native Addon that provides bindings to WebRTC.
  • SIP.js - A simple, intuitive, and powerful JavaScript signaling library.
  • simple-signal - Signalling solution for simple-peer with socket.io.
  • werift-webrtc - WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP/WEBM/MP4.

Go

  • flutter-webrtc-server - A simple WebRTC signaling server for flutter-webrtc.
  • Kraken - High performance WebRTC SFU implemented with pure Go.
  • livekit - End-to-end stack for WebRTC. SFU media server and SDKs.
  • Pion WebRTC - A pure Go implementation of the WebRTC API.

C/C++

  • datachannel-wasm - C++ WebRTC Data Channels and WebSockets for WebAssembly in browsers.
  • HumbleNet - A cross-platform networking library that works in the browser.
  • libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets.
  • libpeer - WebRTC Library for IoT/Embedded Device using C.
  • libwebrtc - A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).
  • MetaRTC - A cross-platform webRTC SDK.
  • momo - WebRTC Native Client Momo.
  • Open WebRTC Toolkit - Client SDK for native Windows/Linux/Android/iOS applications is built upon the W3C WebRTC standard to accelerate the development of real time communication applications on these platform.
  • rawrtc - WebRTC and ORTC with a little bit of RAWR.
  • WebUDP - Minimal WebRTC datachannel server.

Stun & Turn

  • Ayame - WebRTC Signaling Server.
  • Coturn - Free open source implementation of TURN and STUN Server.
  • go-stun - A go implementation of the STUN client (RFC 3489 and RFC 5389).
  • Pion TURN - Go toolkit for building TURN servers and clients.
  • PeerServer - Helps establishing connections between PeerJS clients.
  • singo - Simple WebRTC Signaling Server written in Go.
  • stun - Low-level Session Traversal Utilities for NAT (STUN) client and server.
  • STUNTMAN - An open source STUN server.
  • STUNNER - Stunner is a tool to test and exploit STUN, TURN and TURN over TCP servers.
  • STUNner - A Kubernetes media gateway for WebRTC.
  • turn-rs - A pure rust implemented turn server.
  • violet - Lightweight STUN/TURN server.

Samples

Miscellaneous

  • aiortc - WebRTC and ORTC implementation for Python using asyncio.
  • cordova-plugin-iosrtc - Cordova iOS plugin exposing the WebRTC W3C API.
  • Flutter-WebRTC - WebRTC plugin for Flutter Mobile/Desktop/Web.
  • libwebrtc - Google WebRTC implementation in a single static library.
  • Matchbox - Painless peer-to-peer WebRTC networking for rust wasm (and native!).
  • OBS-studio WebRTC - This is a fork of OBS-studio with generic support for webrtc.
  • peer-stream - Lightweight WebRTC SDK for UnrealEngine PixelStreaming.
  • Python WebRTC - Python extension that provides bindings to WebRTC M92.
  • React-Native-WebRTC - A WebRTC module for React Native.
  • rings - Rings is a structured peer-to-peer network implementation using WebRTC, Chord algorithm, and full WebAssembly (WASM) support.
  • rpi-webrtc-streamer - Web Cam server on the most popular Raspberry PI hardware.
  • WebRTC.rs - Pure Rust implementation of WebRTC stack, which rewrites Pion stack in Rust.
  • WebRTC-iOS - A simple native WebRTC demo iOS app using swift.
  • webrtc-java - WebRTC for desktop platforms running Java.
  • WebRTC Android - A versatile WebRTC pre-compiled Android library that reflects the recent WebRTC updates to facilitate real-time video chat for Android and Compose.
  • WebRTC for Unity - WebRTC package for Unity.

Contribute

Contributions are welcome!

See the Contribution Guidelines.