MultiRTC / A Demo application for RTCMultiConnection.js!
- Source Code: https://github.com/muaz-khan/WebRTC-Experiment/tree/master/MultiRTC
- Similar Demo: https://www.webrtc-experiment.com/RTCMultiConnection/MultiRTC/
- RTCMultiConnection.js: http://www.RTCMultiConnection.org/docs/


// Dependencies:
// 1) socket (npm install websocket)
// 2) node-static (npm install node-static)
npm install multirtc
// to run it!
cd node_modules/multirtc/ && node signaler.js
Now, both WebSocket and HTTPs servers are running at port 12034
:
https://localhost:12034/
=
Note:
This MultiRTC Demo is using WebSockets over Nodejs for signaling and presence detection!
You can easily use any signaling implementation; whether it is Socket.io or XHR-Long polling or SIP/XMPP or WebSync/SignalR etc. Read more here!
Follow these steps to use other signaling servers:
- Cut code from "public" directory and paste in a unique directory.
- Now, open
ui.peer-connection.js
and go to line 14. You can override your ownopenSignalingChannel
. - Now, open
ui.main.js
and go to line 94. You can easily change websocket to socket.io or any other implementation.
and that's it!
=
What is MultiRTC?
- It is a skype-like demo using WebRTC for realtime connections!
- It allows you enable/disable webcams; and join with or without webcams!
- It allows you share screen using existing peer connections!
- It allows you share files with preview and download links!
- It allows you auto translate incoming messages in your own language!
- It gives you full control over bandwidth and screen resolutions!
- It allows you adjust file sharing speed yourself by setting chunk-size and chunk-intervals!
- It allows you test all WebRTC features by enabling/disabling some check-boxes!
Demo here: https://www.webrtc-experiment.com/RTCMultiConnection/MultiRTC/
=
How it works?
- It opens WebRTC data connection same like Skype!
- Multiple users can join same room; text chat and share multiple files concurrently!
- Choose your own URL! Users from one room can't access data or join users from other rooms.
- Anyone can add any media stream any-time! Whether it is screen; or audio/video.
- An advance settings section allows you customize many RTCMultiConnection features in one place!
It is an All-in-One solution for RTCMultiConnection.js!
=
Presence Detection!
Presence detection is handled by websocket-over-nodejs! Open ui.main.js
file and go to line 79.
// use "channel" as sessionid or use custom sessionid!var roomid = connectionchannel; var SIGNALING_SERVER = 'wss://wsnodejs.nodejitsu.com:443';var websocket = SIGNALING_SERVER; websocket { var data = JSON; if dataisChannelPresent == false connection; else connection; }; websocket { websocket;};
=
websocket-over-nodejs for signaling!
Open ui.peer-connection.js
and go to line 15.
// wss://wsnodejs.nodejitsu.com:443// ws://wsnodejs.nodejitsu.com:80// wss://www.webrtc-experiment.com:8563 var SIGNALING_SERVER = 'wss://wsnodejs.nodejitsu.com:443';connection { configchannel = configchannel || thischannel; var websocket = SIGNALING_SERVER; websocketchannel = configchannel; websocket { websocket; if configcallback config; }; websocket { config; }; websocketpush = websocketsend; websocket { websocket; };}
=
License
RTCMultiConnection.js WebRTC Library is released under MIT licence . Copyright (c) Muaz Khan.