Comments on: How Many Users Can Fit in a WebRTC Call? https://bloggeek.me/how-many-users-webrtc-call/ The leading authority on WebRTC Sat, 06 Apr 2024 14:46:25 +0000 hourly 1 By: Tsahi Levent-Levi https://bloggeek.me/how-many-users-webrtc-call/#comment-167773 Sat, 06 Apr 2024 14:46:25 +0000 https://bloggeek.me/?p=12135#comment-167773 In reply to Ali.

Ali,

I am not aware of anyone that does 10 users mesh with WebRTC. I do know of vendors who arrived at 6 or 8. 10 is likely possible, though I wouldn’t go there directly given a choice.

Two thinks that came to mind that you might want to try here:
1. Mute everyone, ending up with something like broadcast each time someone speaks and use WebRTC for this. It may alleviate some of the pains
2. Use MediaRecorder API instead, and then send the data over a data channel or similar to the other participants, adding some delay to the communication itself, but “solving” the quality problems

Also remember that you will still be needing TURN servers for some users on some networks.

]]>
By: Ali https://bloggeek.me/how-many-users-webrtc-call/#comment-167762 Fri, 05 Apr 2024 20:15:16 +0000 https://bloggeek.me/?p=12135#comment-167762 Hello Tsahi,

Great post.

I would like to develop a Mafia (Werewolf) game between 10 users. Only in voice and no video. So users speak in turn and only one speaker at a time. Can you please tell me if it is possible to do this using P2P topology and what tricks may I use to optimize it?

Thanks

]]>
By: Tsahi Levent-Levi https://bloggeek.me/how-many-users-webrtc-call/#comment-165085 Sat, 19 Aug 2023 07:14:47 +0000 https://bloggeek.me/?p=12135#comment-165085 In reply to Roy.

That’s a good question and an edge case…
A media server would garner better results. Especially when devices have less available CPU or bandwidth is scarce.
At such low resolutions, I am tempted to say it would be interesting to see if you can get it to perform well with 8 players in P2P mesh configuration.

]]>
By: Roy https://bloggeek.me/how-many-users-webrtc-call/#comment-165014 Sat, 05 Aug 2023 15:40:36 +0000 https://bloggeek.me/?p=12135#comment-165014 Hello Tsahi,
I would like to ask for your advice please.
I have built a card game web app for 8 players and lately I was thinking about using WebRTC P2P to get the players watch and talk to each other while playing. So 8 videos that each should be 100X100 pixels big.
Should I use P2P or a media server?

Thanks in advance.

]]>
By: Tsahi Levent-Levi https://bloggeek.me/how-many-users-webrtc-call/#comment-130434 Mon, 03 May 2021 20:01:23 +0000 https://bloggeek.me/?p=12135#comment-130434 In reply to Hammad Ali.

Hammad,

You will need a media server. There are many articles on my site and elsewhere to give you guidance.

]]>
By: Hammad Ali https://bloggeek.me/how-many-users-webrtc-call/#comment-130431 Mon, 03 May 2021 19:44:24 +0000 https://bloggeek.me/?p=12135#comment-130431 Hi
Article is very helpful. Thank you for this effort.

I am working on a social native app. I completed private call (P2P) using webrtc “RTCPeerConnection” connection for each user. Now I want to make a group call for this social app. Please guide me which architecture will be good for this scenario. Remember all participants stream should be visible as in WhatsApp group. Participants can be from 5-10.

Is mesh approach will be will fit or something else?

]]>
By: Tsahi Levent-Levi https://bloggeek.me/how-many-users-webrtc-call/#comment-129380 Tue, 30 Mar 2021 06:29:17 +0000 https://bloggeek.me/?p=12135#comment-129380 In reply to Truong Thanh Thu.

In a broadcast, you have a single stream going out to many.

If a server can handle 100 streams, then that single stream can be sent by the server to 100 servers, each managing 100 outgoing streams to a total of 10k. This is a simplification, but that’s the way to think of it.

For a video conference you won’t need more than 50-100 video streams in total. No one else will be seen by others anyway. In such cases, you can decide which of the streams to even send to the servers and route between them – and you are again back to something akin to the broadcast example above.

At times, it might be simpler to multiplex the videos and combine them into a single stream, getting you again to the broadcast scenario.

]]>
By: Truong Thanh Thu https://bloggeek.me/how-many-users-webrtc-call/#comment-129342 Mon, 29 Mar 2021 10:16:10 +0000 https://bloggeek.me/?p=12135#comment-129342 Thank you for your response.

I want to refer large meetings particularly. The question is the number of incoming and outcoming streams in one media server is still the same in both scenarios. So how can splitting a meeting between multiple servers increase the participant limits? As stated in your article: “If your media server can hold 100 participants and you want meetings at the size of 5,000 participants, then you’ll need to be able to cascade to support them”.

Thank you for supporting me.

]]>
By: Tsahi Levent-Levi https://bloggeek.me/how-many-users-webrtc-call/#comment-129336 Mon, 29 Mar 2021 09:13:05 +0000 https://bloggeek.me/?p=12135#comment-129336 In reply to Truong Thanh Thu.

In larger meetings you start off by optimizing the client side to be able to conduct that at all.

Showing more than 50 people on the screen is not achievable with WebRTC today using an SFU (I haven’t seen anyone doing that above these numbers and even reaching 50 is challenging).

Handling audio for more participants is possible, but makes use of many optimizations a well.

The need to split a meeting between multiple servers is something I’d do only for large broadcasts or when you want to optimize for geographic spread of users.

]]>
By: Truong Thanh Thu https://bloggeek.me/how-many-users-webrtc-call/#comment-129335 Mon, 29 Mar 2021 09:08:51 +0000 https://bloggeek.me/?p=12135#comment-129335 Hi Tsahi. The post contains a lot of information. Thank you.

I just have one question in the “larger meetings” section. Supposing that we have two media servers which split a lot of participants in one conference, how can we expand the meeting if in one media server still have the same amount of incoming streams and outcoming streams?

For eg,
Scenario 1: I have media server A which receives all 150 incoming streams from 150 participants => Summary will be 300 streams

Scenario 2: I have media server A which receives 100 incoming streams from 100 participants, and media server B which receives 50 incoming streams from 50 participants
=> Media server A plus 100 outcoming streams to media server B and 50 incoming streams from media server B => Summary will still be 200 + 100 streams

But according to the need of scaling, media server A in scenario 2 must be weaker than the media server A in scenario 1. So how can we achieve larger meetings with two media servers?

Thank you.

]]>