https://github.com/muaz-khan/WebRTC-Experiment
WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!!
https://github.com/muaz-khan/WebRTC-Experiment
webrtc webrtc-demos webrtc-examples webrtc-experiments webrtc-libraries webrtc-samples webrtc-tools
Last synced: over 1 year ago
JSON representation
WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!!
- Host: GitHub
- URL: https://github.com/muaz-khan/WebRTC-Experiment
- Owner: muaz-khan
- License: mit
- Created: 2012-11-14T05:53:13.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2022-06-15T09:37:48.000Z (about 4 years ago)
- Last Synced: 2024-05-14T01:42:26.968Z (about 2 years ago)
- Topics: webrtc, webrtc-demos, webrtc-examples, webrtc-experiments, webrtc-libraries, webrtc-samples, webrtc-tools
- Language: JavaScript
- Homepage: https://www.webrtc-experiment.com/
- Size: 32 MB
- Stars: 11,606
- Watchers: 663
- Forks: 3,943
- Open Issues: 533
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - muaz-khan/WebRTC-Experiment - WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!! (others)
- StarryDivineSky - muaz-khan/WebRTC-Experiment - khan/WebRTC-Experiment 项目是一个专注于 WebRTC 技术的代码示例和演示集合。它探索了实时通信功能,例如点对点视频和音频通话、数据通道和屏幕共享。该项目强调浏览器兼容性,为不同平台和版本提供解决方案。它详细讲解了 WebRTC 的核心组件,例如 RTCPeerConnection API、MediaStream 和 DataChannel。其工作原理包括使用 ICE、STUN 和 TURN 协议在浏览器之间建立直接连接。它演示了如何高效地处理媒体捕获、处理和传输。该代码库还涵盖了诸如联播、自适应比特率和网络优化等高级主题。它提供了在视频会议、直播和文件共享等应用中实现 WebRTC 的实用示例。该项目重点关注安全方面,包括加密和身份验证机制。它旨在帮助开发者和学习者体验 WebRTC 功能并解决常见问题。GitHub README 文件可作为实验指南,帮助您了解实验目的。该项目旨在通过可访问的代码和文档简化 WebRTC 的复杂性。 (网络信息服务 / 网络协议)
- awesome-starts - muaz-khan/WebRTC-Experiment - WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!! (JavaScript)
- awesome-video - WebRTC-Experiment - A repository of WebRTC experimental demos by Muaz Khan, including source code for various real-time communication use cases (screen sharing, peer connections, recording, etc.). (Intro & Learning / Tutorials & Case Studies)
- awesome-webrtc - WebRTC Experiment - WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC. (Samples)
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/
[](https://npmjs.org/package/recordrtc) [](https://npmjs.org/package/recordrtc) [](https://travis-ci.org/muaz-khan/RecordRTC)
Github (open sourced): https://github.com/muaz-khan/RecordRTC
RecordRTC extension is [available in the Chrome Web Store](https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp).
----
# 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/
[](https://npmjs.org/package/detectrtc) [](https://npmjs.org/package/detectrtc) [](https://travis-ci.org/muaz-khan/DetectRTC)
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.)
[](https://npmjs.org/package/rtcmulticonnection) [](https://npmjs.org/package/rtcmulticonnection) [](https://travis-ci.org/muaz-khan/RTCMultiConnection)
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
[](https://npmjs.org/package/webrtc-scalable-broadcast) [](https://npmjs.org/package/webrtc-scalable-broadcast)
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
[](https://npmjs.org/package/canvas-designer) [](https://npmjs.org/package/canvas-designer) [](https://travis-ci.org/muaz-khan/Canvas-Designer)
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/
[](https://npmjs.org/package/getstats) [](https://npmjs.org/package/getstats)
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
[](https://npmjs.org/package/fbr) [](https://npmjs.org/package/fbr) [](https://travis-ci.org/muaz-khan/FileBufferReader)
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](https://github.com/muaz-khan/WebRTC-Experiment) are released under [MIT license](https://github.com/muaz-khan/WebRTC-Experiment/blob/master/LICENSE) . Copyright (c) [Muaz Khan](https://muazkhan.com/).