Anyone tried 50+ participants in Talk?

Can this be done with video? With the high performance backend server configured, what does it take regarding resources. Would love to hear from anyone who has done this.

Nextcloud itself has weekly audio calls with 40 employees. Works totally fine. With video it works as long as people mute which then downgrades their video quality depending on the number of participants.

That sounds encouraging, I’ll have to setup a test with our group at some point. I’m worried if it fails people will think Talk is no good for them so I’ll need to be careful about that.

The gist of what the talk “high performance backend” (“HPBE”) does, is it changes the video transfer mode from peer-to-peer to peer-to-server. This mostly impacts the upstream bandwidth requirements for each of the participants since they now only have to send ONE video stream… to the server (which then restreams it to any number of participants), but also improves the reliability of establishing a connection, since NAT traversal is a pain in p2p networking.

There are basically 3 levels of communications possible with nextcloud talk;
STUN: which tells the peers where to find each other and facilitates the NAT traversal process,
TURN: which maps streams 1:1 through the server – this eliminates the need for NAT traversal but doesn’t help with client upstream bandwidth requirements,
HPBE: which maps streams 1:MANY through the server – both eliminates the need for NAT traversal and reduces client upstream bandwidth requirements AND reduces server bandwidth requirements compared to TURN.

Nextcloud includes a built-in STUN server. TURN and HPBE (but more so TURN) increase the bandwidth requirements for the server, so under some circumstances it is suggested to install them in a different server than your main nextcloud instance. Depends on your situation of course.

I’m not certain if the HPBE is currently able to downselect for a subset of streams to send to other participants. Ideally, it would offer a mode where only the “talker” stream is being restreamed.

I found in some docs our HPBE should be able to handle 150 participants at the same time. I’ll go ahead and attempt to setup a 50+ test. I’ ll update once this has been done, tnx.

3 Likes

What is Zoom doing different?
They can effortless host up to 1000 participants

Probably a lot of hardware and bandwidth for one thing. Not sure if Talk actually has any software limits prohibiting this. On paper I should be able to handle 150 participants, not sure until this is put to the test though.

Zoom servers are acting as mcu what means all streams are mixed to one stream per user. Talk HPB (and Jitsi and a lot of other solutions) are acting as sfu: WebRTC Media Servers - SFUs vs MCUs – WebRTC.ventures
This means zoom can handle a lot of connections even if users are on small bandwidth. But zoom-servers need A LOT power to handle decoding and encoding of videos.

4 Likes

Thanks for your explaination. :+1:
Are there opensource video conf tools that uses a MCU?
Is it possible to use the Talk HPB as a MCU?

Why Nextcloud claims the HPB is using MCU (an not SFU)?
https://portal.nextcloud.com/article/installation-of-nextcloud-talk-high-performance-back-end-47.html

It does run Janus, not sure if this is configured to act as a MCU or SFU.

this is a subscription-only link … are there other sources where we could see whether Janus is MCU?