Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does WebRTC handle many-to-many connections?

if I am in a room with other 7 users, I am wondering if WebRTC force every user to establish a connection to each one of other participants.

Obviously it would consume something like 7kb/s*7 download and even upload, and many connection cannot handle this if their connection is already busy. Instead with some kind of media relay the bandwidth usage would be only 7kb/s but you would lose bandwidth adaptation between peers.

Do you know any media relay, or way to solve this problem? is TURN server ( like https://code.google.com/p/rfc5766-turn-server/ ) suitable for this kind of job ( multicast included )?

like image 661
M4rk Avatar asked Jun 16 '13 15:06

M4rk


People also ask

How many connections can WebRTC handle?

As many as you like. You can cram anywhere from one to a million users into a WebRTC call.

Does WebRTC use multicast?

So no, WebRTC cannot be used with IP multicast.

Is WebRTC scalable?

WebRTC simply wasn't designed with scalability in mind. The bandwidth-intensive configuration requires each participating browser to connect with each other via a peer connection.

Is WebRTC peer to peer?

WebRTC is a peer-peer communication protocol.


1 Answers

A TURN server works as a fallback relay server in order to enable connectivity when direct peer-to-peer connectivity is impossible because of firewalls or other network issues. (More information here: press P for speaker notes.) TURN servers are not designed for media distribution.

A Multipoint Control Unit could solve the problem you refer to: there's an example topology for this here. As stated in the notes for that slide:

This is a server that's made specifically to do distribution of media, and can handle large numbers of participants; it can also do smart things like selective stream forwarding, mixing of the audio or video, or recording.

like image 135
Sam Dutton Avatar answered Sep 28 '22 11:09

Sam Dutton