MCPcopy
hub / github.com/muaz-khan/WebRTC-Experiment

github.com/muaz-khan/WebRTC-Experiment @main sqlite

repository ↗ · DeepWiki ↗
4,997 symbols 13,112 edges 448 files 123 documented · 2%
README

WebRTC Demos, Experiments, Libraries, Examples


RecordRTC | WebRTC Audio+Video+Screen Recording

WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.

Live Demo: https://www.webrtc-experiment.com/RecordRTC/

npm downloads Build Status: Linux

Github (open sourced): https://github.com/muaz-khan/RecordRTC

RecordRTC extension is available in the Chrome Web Store.


MultiStreamsMixer

Pass multiple streams (e.g. screen+camera or multiple-cameras) and get single stream.

Live Demo: https://www.webrtc-experiment.com/MultiStreamsMixer/

Github: https://github.com/muaz-khan/MultiStreamsMixer


DetectRTC | Is WebRTC Supported In Your Browser?

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.

Live Demo: https://www.webrtc-experiment.com/DetectRTC/

npm downloads Build Status: Linux

Github (open sourced): https://github.com/muaz-khan/DetectRTC


RTCMultiConnection

WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.)

npm downloads Build Status: Linux

Github: https://github.com/muaz-khan/RTCMultiConnection

Socket.io signaling server: https://github.com/muaz-khan/RTCMultiConnection-Server


WebRTC Scalable Broadcasting

This module simply initializes socket.io and configures it in a way that single broadcast can be relayed over unlimited users without any bandwidth/CPU usage issues. Everything happens peer-to-peer!

Live Demo: https://rtcmulticonnection.herokuapp.com/demos/Scalable-Broadcast.html

npm downloads

Github (open sourced): https://github.com/muaz-khan/WebRTC-Scalable-Broadcast


WebRTC Dashboard | Canvas2D Drawing Tool

Collaborative, extendable, JavaScript Canvas2D drawing tool, supports dozens of builtin tools, as well as generates JavaScript code for 2D animations.

Live Demo: https://www.webrtc-experiment.com/Canvas-Designer/

Github (open-sourced): https://github.com/muaz-khan/Canvas-Designer

npm downloads Build Status: Linux

You video presentation: https://www.youtube.com/watch?v=pvAj5l_v3cM


WebRTC Voice & Text Translator

Translator.js is a JavaScript library built top on Google Speech-Recognition & Translation API to transcript and translate voice and text. It supports many locales and brings globalization in WebRTC!

Live Demo: https://www.webrtc-experiment.com/Translator/

Github (open-sourced): https://github.com/muaz-khan/Translator


getStats | Get WebRTC Peer Connection Stats

A tiny JavaScript library using WebRTC getStats API to return peer connection stats i.e. bandwidth usage, packets lost, local/remote ip addresses and ports, type of connection etc.

Live Demo: https://www.webrtc-experiment.com/getStats/

npm downloads

Github (open-sourced): https://github.com/muaz-khan/getStats


FileBufferReader | File Sharing

FileBufferReader is a JavaScript library reads file and returns chunkified array-buffers. The resulting buffers can be shared using WebRTC data channels or socket.io.

Live Demo: https://www.webrtc-experiment.com/FileBufferReader/

Github (open-sourced): https://github.com/muaz-khan/FileBufferReader

npm downloads Build Status: Linux

Youtube video presentation: https://www.youtube.com/watch?v=gv8xpdGdS4o


WebRTC Video Conferencing Demos

  • Simple Demo: https://rtcmulticonnection.herokuapp.com/demos/Video-Conferencing.html

WebRTC File Sharing

  • Advance file sharing demo: https://rtcmulticonnection.herokuapp.com/demos/file-sharing.html

WebRTC Screen Sharing

  • P2P Screen Sharing: https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/
  • Simple getDisplayMedia: https://www.webrtc-experiment.com/getDisplayMedia/

Ffmpeg.js demos, both for browsers and node.js

  • https://github.com/muaz-khan/Ffmpeg.js

XHR-Signaling

XHR/XMLHttpRequest based WebRTC signaling implementation.

Github (open-sourced): https://github.com/muaz-khan/XHR-Signaling


ASP.NET MVC based WebRTC Demo

A simple WebRTC one-to-one demo written in September, 2012! It supports public rooms as well as password-protected private rooms! MS-SQL database is used as signaling gateway!

Github (open-sourced): https://github.com/muaz-khan/WebRTC-ASPNET-MVC


WebSync-Signaling

WebSync is used as signaling gateway with/for WebRTC-Experiments e.g. RTCMultiConnection.js, DataChannel.js, Plugin-free screen sharing, and video conferencing.

Github (open-sourced): https://github.com/muaz-khan/WebSync-Signaling


Server Sent Events (SSE) over PHP

Server Sent Events (SSE) are used to setup WebRTC peer-to-peer connections.

Github (open-sourced): https://github.com/muaz-khan/RTCMultiConnection/tree/master/demos/SSEConnection


SignalR

SignalR project for RTCMultiConnection: https://github.com/muaz-khan/RTCMultiConnection-SignalR

  • https://github.com/muaz-khan/WebRTC-Experiment/blob/master/Signaling.md#how-to-use-signalr-for-signaling

License

All WebRTC Experiments are released under MIT license . Copyright (c) Muaz Khan.

Core symbols most depended-on inside this repo

H
called by 1090
Translator.js/Robot-Speaker.js
callback
called by 682
Chrome-Extensions/file-sharing/rmc-files-handler.js
callback
called by 259
RTCMultiConnection-SignalR/RTCMultiConnection/Scripts/jquery.signalR-2.1.2.js
drawImage
called by 153
MultiStreamsMixer/MultiStreamsMixer.ts
se
called by 124
Translator.js/Robot-Speaker.js
n
called by 104
Chrome-Extensions/tabCapture/socket.io.js
n
called by 104
Chrome-Extensions/desktopCapture-p2p/background/helpers/socket.io.js
xd
called by 96
Translator.js/Robot-Speaker.js

Shape

Function 4,980
Method 15
Class 2

Languages

TypeScript100%

Modules by API surface

Translator.js/Robot-Speaker.js362 symbols
Chrome-Extensions/file-sharing/rmc-files-handler.js288 symbols
MultiRTC/MultiRTC-firebase/firebase.js187 symbols
RecordRTC/libs/webm-wasm.js166 symbols
RecordRTC/libs/EBML.js113 symbols
Chrome-Extensions/screen-recording/RecordRTC/EBML.js113 symbols
MultiRTC/MultiRTC-websocket/RTCMultiConnection.js96 symbols
MultiRTC/MultiRTC-socketio/public/RTCMultiConnection.js96 symbols
MultiRTC/MultiRTC-firebase/RTCMultiConnection.js96 symbols
WebRTC-Scalable-Broadcast/RTCMultiConnection.js92 symbols
Chrome-Extensions/tabCapture/RTCMultiConnection.min.js85 symbols
RTCMultiConnection-SignalR/RTCMultiConnection/Scripts/jquery-1.10.2.js83 symbols

Dependencies from manifests, versioned

canvas-designerlatest · 1×
detectrtclatest · 1×
fbrlatest · 1×
fluent-ffmpeg2.0.1 · 1×
formidablelatest · 1×
getstatslatest · 1×
gruntlatest · 1×
grunt-bumplatest · 1×
grunt-clilatest · 1×
grunt-contrib-clean0.6.0 · 1×
grunt-contrib-concatlatest · 1×
grunt-contrib-copy0.8.2 · 1×

For agents

$ claude mcp add WebRTC-Experiment \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact