Skip to content

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

License

Notifications You must be signed in to change notification settings

nuzulul/awesome-webrtc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebRTC

Awesome WebRTC Awesome

WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs).

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

Contents

Official

  • Website - Official WebRTC website.
  • Docs - WebRTC on MDN web docs.
  • Source - WebRTC source repository.
  • Demos - WebRTC samples and live demos.
  • Article - WebRTC article from Wikipedia.

Tutorial

Discussion

Samples

Libraries

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.
  • 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 - Auto WebRTC Mesh P2P Network without signaling server.
  • WebPEER - WebPEER is a novel decentralized P2P network overlay in browser-side with a chance of working.
  • WebRTCStats - Helps you collect stats for peer connections.
  • webrtc-issue-detector - Diagnostic tool and troubleshooter for WebRTC applications with Mean Opinion Score (MOS) calculator.
  • WebTorrent - Streaming torrent client for the web.

Node

  • 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.
  • werift-webrtc - WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP/WEBM/MP4.

Go

  • Pion WebRTC - A pure Go implementation of the WebRTC API.
  • RTCTunnel - RTCTunnel builds network tunnels over WebRTC.

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.
  • rawrtc - WebRTC and ORTC with a little bit of RAWR.
  • WebUDP - Minimal WebRTC datachannel server.

Stun & Turn

  • Coturn - Free open source implementation of TURN and STUN Server.
  • Eturnal - STUN / TURN standalone 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.
  • 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.

Signaling Server

Projects

Audio

Chat

  • Brie.fi/ng - Secure direct video group chat.
  • Chitchatter - Secure peer-to-peer chat that is serverless, decentralized, and ephemeral.
  • Databag - A tiny selfhosted federated messenger for the decentralized web.
  • Gise - Video chat application for your own web server.
  • Heyy - A Realtime Chat Application using flutter, Asp.Net Core Web Api, SignalR , WebRTC etc.
  • jsxc - Real-time xmpp chat application with video calls, file transfer and encrypted communication.
  • otr.to - A secure peer-to-peer chat in your web browser.
  • Pychat - Webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing.
  • quickmeet - A video chat/meeting webapp using WebRTC and WebSockets. Basically a Google Meet clone + a collaborative Whiteboard.
  • talkhouse - WebRTC based peer to peer voice, video calling and messaging web app build with MERN stack.
  • tl-rtc-file-tool - WebRTC P2P online web media streaming tool (for files, video, screen, live streaming, text) with management and statistical monitoring capabilities.

File Transfer

  • 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.
  • GFile - Direct file transfer over WebRTC.
  • PairDrop - Local file sharing in your browser.
  • peermesh - Exchange files p2p and e2e encrypted over a fully meshed network in your browser using WebRTC.
  • Pipe File Transfer - Web application for real-time file transfer using WebRTC.
  • Peertransfer - Send a file p2p and e2e encrypted in your browser using WebRTC.
  • ShareDrop - Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop.
  • Snapdrop - A Progressive Web App for local file sharing.
  • WebDrop - Easiest group P2P File & Message transfer in browser with WebRTC.
  • WIFIDrop - Instant transfer unlimited size of files over WIFI powered by WebRTC.
  • zero-share - A client-side secure P2P file sharing using WebRTC.

Game

  • allkaraoke - Online Karaoke game with pitch detection in your browser.
  • The Superviral Word Game - A Vue word game based on the Yakut national sport "Mas-wrestling". Uses XState for state management, WebRTC for multiplayer and has custom WebGL engine.

Screen

  • Deskreen - Turns any device with a web browser into a secondary screen for your computer.
  • laplace - Laplace is an open-source project to enable screen sharing directly via browser.
  • Odin - An open-source screen recorder built with web technology.
  • pear-rec - Screenshot, screen recording, audio recording, and video recording software based on Electron.
  • picklecast - Share your screen to a projector with only a web-browser.
  • PeerWave - WebRTC share peer to peer to peer.
  • screensy - Simple peer-to-peer screen sharing.
  • Spreen - The Screen Sharing App.
  • UltraScreen - Share your screen.

WebRTC Server

  • Janus - Open source, general purpose, WebRTC server designed and developed by Meetecho.
  • Jitsi Videobridge - WebRTC-compatible Selective Forwarding Unit (SFU), i.e. a multimedia router.
  • Kurento - Kurento Media Server is responsible for media transmission, processing, loading and recording.
  • Kraken - High performance WebRTC SFU implemented with pure Go.
  • livekit - End-to-end stack for WebRTC. SFU media server and SDKs.

Streaming

  • Ant Media Server - Live streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency.
  • Coplay - Synchronizing video play between two peers.
  • Metastream - Watch streaming media with friends.
  • MiroTalk WebRTC Live Broadcast - Allows to broadcast live video, audio and screen stream to all connected users (viewers).
  • OvenPlayer - OvenPlayer is JavaScript-based LLHLS and WebRTC Player for OvenMediaEngine.
  • 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.
  • rtwatch - Watch videos with friends using WebRTC, let the server do the pausing and seeking.
  • TStream - Live streaming from your terminal.
  • VDO.Ninja - Powerful tool that lets you bring remote video feeds into OBS or other studio software via WebRTC.

Video Conference

  • BigBlueButton - Complete open source web conferencing system.
  • call-me - Your Go-To for Instant Video Calls!
  • edumeet - Multiparty web-meetings using mediasoup and WebRTC.
  • Galene - Videoconferencing server that is easy to deploy and requires moderate server resources.
  • Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
  • kollokvium - Online meetings made easy, secure and private for everyone.
  • mediasoup - Cutting Edge WebRTC Video Conferencing.
  • 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.
  • Nettu Meet - Open source video conferencing system for tutors.
  • OpenVidu - Create custom videoconference services with ease.
  • Plug-N-Meet - WebRTC based Scalable, High Performance, Open source web conferencing system using Livekit.
  • persianmeet - Free Adobe Connect Alternatives.
  • quik - Free video conferencing over WebRTC in Go.
  • Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway).
  • Talk - Group video call for the web. No signups. No downloads.
  • Trio Calls - A multi-participant video call platform for calling across the world for free with screen sharing.
  • Wirow - A full featured self-hosted video web-conferencing platform.

Tool

  • flok - Web-based P2P collaborative editor for live coding sounds and images.
  • neko - A self hosted virtual browser that runs in docker and uses WebRTC.
  • Parkerr - Parking detection and monitoring webapp that runs entirely in the browser.
  • Project S.A.T.U.R.D.A.Y - A toolbox for working with WebRTC, Audio and AI.
  • remotecontrol-desktop - Remote Control Desktop is a robust, reliable and fast remote desktop software for Windows / macOS / Linux.
  • selkies-gstreamer - Open-Source Low-Latency Linux WebRTC HTML5 Remote Desktop / GStreamer WebRTC Components of Selkies.
  • sshx - P2P SSH using WebRTC.
  • tiny-web-metaverse - A web-based 3D virtual space lightweight framework with high flexibility, extensibility, and easy hosting, built on ECS architecture.
  • uProxy - Browser extension that lets users share their internet connection.
  • WebRTC Camera - Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies.

Miscellaneous

  • androidwebrtcexample - WebRTC Android example.
  • Android WebRTC - WebRTC pre-compiled library for android.
  • 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.

Archived

  • hyperhost - P2P Node Servers in the Browser.
  • 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.

Contribute

Contributions are welcome!

See the Contribution Guidelines.

About

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

Topics

Resources

License

Stars

Watchers

Forks