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…

这是做什么的?一个 WebRTC 演示、实验和 JavaScript 库的一站式合集:包括屏幕共享、视频会议、文件共享、录制、协作画板和语音翻译。
这是一个库,还是一堆各自独立的项目?是一组相互独立的子项目——包括 RecordRTC、RTCMultiConnection、DetectRTC、FileBufferReader 和 getStats 这类库,还有一些独立的演示项目,每个都有自己的仓库和在线演示。
我怎么试用这些东西——需要自己构建吗?什么都不用安装——在浏览器里打开任意实验项目的 Live Demo 链接就行。每个子项目都在自己的 GitHub 仓库里,RecordRTC 还提供了 Chrome Web Store 扩展版本。
点对点功能需要我自己搭服务器吗?代码是纯前端 JavaScript,但 WebRTC 的点对点连接需要一个信令服务——仓库提供了 Socket.io、XHR、WebSync、基于 PHP 的 SSE 和 SignalR 几种方案,还有一个带 MS-SQL 的 ASP.NET MVC 演示。
这是能直接上生产环境的软件,还是更像个试验场?这些是实验和演示项目,并不是一个持续维护的产品——比如那个 ASP.NET 演示还是 2012 年 9 月的东西——所以请逐个挑选子项目,并查看它们各自的仓库。
这些库是给应用开发者用的,还是给想要现成工具的普通用户用的?面向开发点对点 WebRTC 应用的开发者——比如屏幕共享、音视频会议、文件共享、媒体流——他们需要能用的 JavaScript 库和示例代码。
它能在哪些浏览器和系统上运行?RecordRTC 支持 Chrome、Firefox、Opera、Android 和 Microsoft Edge,可在 Linux、Mac 和 Windows 上使用;其余演示也都在浏览器里运行。
这些代码能免费用到我自己的项目里吗?可以——所有代码都基于 MIT 许可证发布(版权归 Muaz Khan),可以自由使用和修改。
RecordRTC 是什么?这个仓库的招牌库:一个用于录制音频、视频和屏幕内容的 WebRTC JavaScript 库。它支持 Chrome、Firefox、Opera、Android 和 Edge,还提供了 Chrome Web Store 扩展版本。
Translator.js 是什么?一个可以对语音和文本进行转录与翻译的 JavaScript 库,基于 Google Speech-Recognition 和 Translation API 构建,支持多种语言环境。
WebRTC Scalable Broadcasting 演示是怎么服务大量观众的?它对 socket.io 做了配置,让一场广播可以中继给无限数量的用户,而且不会带来带宽或 CPU 占用问题——整个过程仍然是点对点的。
这些实验里的文件共享是怎么实现的?FileBufferReader 会读取文件并返回分块后的 array-buffer,然后你可以通过 WebRTC 数据通道或 socket.io 发送它们。
Creator
muaz-khan
Size
32.7 MB
Stars
12.1K
Updated
CommitApr 11
Age
13y
Commits · 90 Days