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)

Searching Database…

Что это такое?Целая подборка демо, экспериментов и JavaScript-библиотек по WebRTC: демонстрация экрана, видеоконференции, обмен файлами, запись, совместное рисование и перевод голоса.
Это одна библиотека или целый набор отдельных проектов?Набор независимых подпроектов — библиотеки вроде RecordRTC, RTCMultiConnection, DetectRTC, FileBufferReader и getStats, плюс отдельные демо; у каждого свой репозиторий и своё живое демо.
Как мне это попробовать — нужно что-то собирать?Ничего устанавливать не нужно — откройте ссылку Live Demo любого эксперимента в браузере. Каждый подпроект лежит в своём репозитории на GitHub, а RecordRTC также распространяется как расширение из Chrome Web Store.
Для работы peer-to-peer мне нужен свой сервер?Код работает на стороне клиента, но WebRTC-пирам нужен signaling-сервис — в репозитории есть варианты на Socket.io, XHR, WebSync, SSE-over-PHP и SignalR, а также демо на ASP.NET MVC с MS-SQL.
Это готовый продукт для продакшена или скорее песочница?Это эксперименты и демо, а не один поддерживаемый продукт — демо на ASP.NET, например, сделано ещё в сентябре 2012 года, — поэтому выбирайте подпроекты по отдельности и проверяйте их собственные репозитории.
Эти библиотеки для разработчиков приложений или для обычных пользователей, которым нужны готовые инструменты?Для разработчиков, которые делают peer-to-peer приложения на WebRTC — демонстрацию экрана, аудио/видеоконференции, обмен файлами, потоковую передачу медиа — и хотят готовые JavaScript-библиотеки и примеры кода.
В каких браузерах и на каких системах это всё работает?RecordRTC поддерживает Chrome, Firefox, Opera, Android и Microsoft Edge на Linux, Mac и Windows; остальные демо тоже работают прямо в браузере.
Могу ли я свободно использовать этот код в своих проектах?Да — всё распространяется по лицензии MIT (авторские права Muaz Khan), так что использовать и изменять код можно свободно.
Что такое RecordRTC?Главная библиотека репозитория: JavaScript-библиотека на WebRTC для записи звука, видео и действий на экране. Работает в Chrome, Firefox, Opera, Android и Edge, а также доступна как расширение из Chrome Web Store.
Что такое Translator.js?JavaScript-библиотека, которая распознаёт и переводит речь и текст; построена на основе Google Speech-Recognition и Translation APIs и поддерживает множество языков (локалей).
Как демо WebRTC Scalable Broadcasting обслуживает много зрителей?Оно настраивает socket.io так, что одна трансляция ретранслируется неограниченному числу пользователей без проблем с трафиком или нагрузкой на процессор — и всё это по-прежнему происходит peer-to-peer.
Как устроен обмен файлами в этих экспериментах?FileBufferReader читает файл и возвращает его в виде нарезанных на кусочки array-buffers, которые затем можно отправить через WebRTC data channels или socket.io.
Creator
muaz-khan
Size
32.7 MB
Stars
12.1K
Updated
CommitApr 11
Age
13y
Commits · 90 Days