5

I am new to webrtc. I followed a tutorial from http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-security on webrtc and i was able to do some chatting.

If I want to broadcast to more number of users say like 1000 users or more, then what are the things I need to consider while designing such an application?

I googled a bit but all i got was implementations of webrtc and some questions like mine. But haven't got any concrete answer till now.

karthick
  • 11,998
  • 6
  • 56
  • 88
  • Please have a look at the answers in http://stackoverflow.com/questions/17134778/how-does-webrtc-handle-many-to-many-connections – Makkes Jun 20 '13 at 19:40

2 Answers2

2

The answer given is slightly incorrect. If we talk about scaling, the given link does nothing on it. If you go to "broadcasting demo" https://www.webrtc-experiment.com/RTCMultiConnection/video-broadcasting.html, and test, you will see the broadcaster does not send a single video stream, but N streams, where N is the amount of "listeners" or "broadcast attendees". So, the broadcaster will soon hit a outgoing connection bottleneck. For example, a single outgoing stream requires 40KB/s, so it is ~40MB/s for 1000 users, which is... unacceptable I guess.

The only way to build a scalable app is to use a server side solution. It doesn't matter if there will be a small delay between broadcaster and listeners, it is not a live conversation, same as television.

igorpavlov
  • 3,576
  • 6
  • 29
  • 56
  • Yeah I also thought of the bandwidth issue. Kind of got stuck after thinking about it. Currently analyzing red5 though it's supporting only flash thought of giving it a try. – karthick Aug 20 '13 at 03:18
  • I thought the RTCMultiConnection demo implemented a peer to peer scheme to reduce the bandwidth requirements of the original broadcaster. – freakTheMighty May 22 '14 at 03:56
  • RTCMultiConnection is based on many 1:1 connections. You should check MCU links from [this stackoverflow answer](http://stackoverflow.com/questions/24857637/current-state-of-javascript-webrtc-libraries). Remember, 3-way connection isn't possible in RTCWeb API, also it is considered obsolete feature by IETF RTWeb WG. Also, it isn't possible to implement 1:many without using any java-applet/ativex/flash plugin or media server. – Muaz Khan Aug 01 '14 at 15:15
0

RTCMultiConnection seems like a good starting point for implementation details.

eepp
  • 7,255
  • 1
  • 38
  • 56