Videoconference performance

Hi,
I’m currently testing different platforms for videoconferencing. In particular, I’m comparing nextcloud talk, mega.nz, hangouts, teams and jitsi.
My setting is one sender/speaker that shares its desktop so just one video at low definition and 20-40 users audio only (muted if they do not talk).
In particular, bandwidth requirements are: hangouts has minimum of 300 kbit/s, teams has a minimum of 500 kbit/s while jitsi is close to teams.
Hangout is using VP9, teams h.264 codec while jitsi VP8. VP9 is comparable to h.265 and one step ahead to both VP8 and h.264.
What are the codecs used by nextcloud talk? Does nextcloud talk allow to adjust video quality (LD, SD, HD)? What is the maximum number of conference users (audio and video)?
Thank you

Only reference I found quickly: https://github.com/nextcloud/spreed#installing-for-production
Seems for larger number of users, you need a paid version. Perhaps someone with experience can give some feedback.

For your setup, have you considered a dedicated videostreaming option combined with Mumble for audio? That will probably give much better audio quality and performance, and will make doing recordings easier as well.

We tried just yesterday to use Talk, but it failed miserably with only 5 participants and it does not support any other signaling server except the paid one from Nextcloud GmbH. IMO it is unusable in this setting if you are not willing to pay for the “high performance backend”.
Talk is based on Spreed.me (AFAIK) and spreed uses “WebRTC & libde265 H.265/HEVC”

I did set up a jitsi docker instead and we had a conference with a dozen participants audio only and one shared screen. Did perform well even on a very old dual quad core AMD Opteron 2350 Server. More than half of the participants had video enabled in the beginning and it wasn’t an issue.
As the server has a gigabit network connection I was only monitoring cpu load and did not watch the bandwidth usage.

4 Likes

@krischan thank you for the suggestion, but I would like to have an unique solution.

@bpcurse well, you saved me some useless work. Thank you. It seems that nextcloud talk is limited in order to favour paid version.
Is spreed.me still updated? I took a look on github and the last update of the server code is 3 years old.
Jitsi it is a very good solution, the only problem in my scenario is the missing of the support of VP9 or open h.265. It seems that there is a patch for VP9, but it is stalled since 1 year.
I have to try bigBlueButton. Any suggestion about it?

I’m afraid I have never tried bigBlueButton. Cannot give you any input on this.

Just my two cents on Talk:
I think (not only) due to this policy it will die slowly and remain a niche product for Nextcloud’s business customers. As soon as there is a sophisticated app to thorougly implement matrix (matrix.org) in Nextcloud, it’s dead. But this will take a while.

1 Like

Readme just got an update: https://github.com/nextcloud/spreed/pull/3079/files

5-10 users per call for anything else the hpb seems to be required. It’s possible to use a custom STUN and TURN if required: https://github.com/nextcloud/spreed/blob/master/docs/TURN.md

Custom STUN and TURN won’t help (tested yesterday). We have own STUN / TURN Servers. It did not help, the signaling server is the problem (high load on the clients).

Ok thank.
As far as I know, matrix.org is great for chat and federated messengers. However, matrix is not suited for videoconferencing since WebRTC is not thought for mesh grid. Indeed, matrix and riot.im, the reference messenger based on it, use jitsi as videoconferencing.

Correct, 1:1 Audio/Video using WebRTC is a Matrix/Riot core function that we use since we managed to set up a STUN/TURN Server (CoTURN) and conferences in multi user rooms would make use of Jitsi via an integration server.

Sorry for going off topic here. The topic is Nextcloud/Talk of course, not Matrix :innocent:
Will keep my mouth shut now…

1 Like

No problem, it is good to share information about various services.

1 Like

Thank you, a valuable experience to share.

Had a meeting with 30-ish people and meet.jit.si performed poorly. We did okay after switching to Zoom, a proprietary service.

For sure, self hosting it would have improved things.

Self-hosted or https://meet.jit.si?

If the latter, I’m not surprised in the current situation on a free service.
And self-hosted is a matter of server hardware and network bandwidth, that can be scaled individually.

2 Likes

I just read about Jitsi Video Bridge 2.0 and I hope they release it as soon as possible.

1 Like

I’ve found detailed performance infos (at least on jitsi):

Seems it is not too complicated using it already:

From the comments on the mentioned link:

"Add the unstable repo (or change the stable to unstable), then:

apt-get remove jitsi-meet
apt-get install jitsi-videobridge2

"

Didn’t test it, though.

The performance evaluation is outdated according to this message.
Of course, you can install JVB 2.0, but it is not still released and meet.jit.si is not using it.

Meanwhile, have you tried xmpp, eg ojsxc app, as a tool for audio/videoconferencing?

I did not try it, does it satisfies my requirements?