WebRTC-Experiment README

The project's README from github.com/muaz-khan/WebRTC-Experiment. As one markdown file: README.md.

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


WebRTC File Sharing


WebRTC Screen Sharing


Ffmpeg.js demos, both for browsers and node.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


License

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

WebRTC-Experiment (muaz-khan/WebRTC-Experiment)

drawing
Searching Database…

What is this?A one-stop hub of WebRTC demos, experiments and JavaScript libraries: screen sharing, video conferencing, file sharing, recording, collaborative drawing and voice translation.
Is this one library or a whole collection of separate projects?A collection of independent sub-projects — libraries like RecordRTC, RTCMultiConnection, DetectRTC, FileBufferReader and getStats, plus standalone demos, each with its own repo and live demo.
How do I try these things — do I have to build anything?Nothing to install — open any experiment's Live Demo link in your browser. Each sub-project lives in its own GitHub repo, and RecordRTC also ships as a Chrome Web Store extension.
Do I need my own server to make the peer-to-peer stuff work?The code is client-side JavaScript, but WebRTC peers need a signaling service — the repo provides Socket.io, XHR, WebSync, SSE-over-PHP and SignalR options, plus an ASP.NET MVC demo with MS-SQL.
Is this production-ready software or more of a sandbox?These are experiments and demos, not one maintained product — the ASP.NET demo, for instance, dates to September 2012 — so pick sub-projects individually and check their own repos.
Are these libraries for app developers or for end users wanting ready-made tools?For developers building peer-to-peer WebRTC apps — screen sharing, audio/video conferencing, file sharing, media streaming — who want working JavaScript libraries and sample code.
Which browsers and systems does it all run on?RecordRTC supports Chrome, Firefox, Opera, Android and Microsoft Edge, on Linux, Mac and Windows; the rest of the demos run in the browser too.
Is the code free to use in my own projects?Yes — everything is released under the MIT license (copyright Muaz Khan), so it is free to use and modify.
What is RecordRTC?The headline library of the repo: a WebRTC JavaScript library for recording audio, video and screen activity. It works in Chrome, Firefox, Opera, Android and Edge, and also ships as a Chrome Web Store extension.
What is Translator.js?A JavaScript library that transcribes and translates voice and text, built on top of Google Speech-Recognition and Translation APIs, with support for many locales.
How does the WebRTC Scalable Broadcasting demo serve many viewers?It configures socket.io so a single broadcast is relayed to unlimited users without bandwidth or CPU usage problems — and everything still happens peer-to-peer.
How does file sharing work in these experiments?FileBufferReader reads a file and returns chunkified array-buffers, which you can then send over WebRTC data channels or socket.io.
Creator
muaz-khan
Size
32.7 MB
Stars
12.1K
Updated
CommitApr 11
Age
13y
Commits · 90 Days