Now Let’s Have A Go At BigBlueButton

BBB Server load with 16 videos in a callWhile virtually at DIVOC and presenting how to install a Jitsi server, I also joined other sessions. Some of them where hosted with Big Blue Button (BBB), another open source video conferencing service. I heard from others that when it comes to ‘larger’ groups, say more than 20 people, it might perform better than Jitsi. So I decided to have a look at this system as well and install it on a server.

The concept of BBB is a bit different from Jitsi. Jitsi can be used for peer groups without a clearly defined session leader and without passwords, which makes it super simple to use and hassle free. BBB on the other hand is based on rooms that people with an account on the server can create and then give out a link for other people to join (*). It’s more like a classroom type setup. Also BBB has a number of features that go in this direction like a presentation upload and show feature, shared notes, a scratch pad that can be shared, public and private chats, polls, and break-out rooms. Quite a bit of features but still simple to use. Another big difference: It runs in the browser on all devices, including mobile phones. No apps required! And, after having run a number of calls with up to 18 people and 16 simultaneous videos over many hours, I can confirm that it works just fine, even in the browser on smartphones!

From a performance point of view my impression is that it is indeed more optimized than Jitsi for larger groups. The default uplink audio+video stream datarate is around 350 kbit/s and the downlink, even with 15 others streaming their video is below 2 Mbit/s while all videos are in thumbnail mode. When enlarging one video, the downlink datarate goes up a bit but not by much. Also, I had no problem with 16 video streams in Chromium. Processor load on the client goes up to 100% in such a conference, but all video streams remain smooth and sound quality remains excellent.

On the server side, I ran several such conferences over the week, each over 2+ hours, and things were very stable. For the purpose, I used a 4-vCPU VM in a Hetzner data center in Germany for 20 euros a month and processor load on all 4 cores in this setup was around 70% as shown in the screenshot above. The BBB FAQ says you shouldn’t go beyond 80% processor load so there would still have been some capacity for additional participants in that call. I don’t know how the processor load would look like if instead of one room with 18 people, two rooms were open at the same time with half the number of people joining each room. Network throughput would certainly be lower than the 50 Mbit/s downlink I experienced when each video was duplicated to 18 people. But the bottlenecks is definitely the CPU time here, as 50 Mbit/s is 5% of the line speed to my server.

So much for today about my experimental BBB setup. In the meantime, I’ve moved far beyond and have some interesting data about bigger setups. Watch this space.

(*): A Jitsi server can be set up for a classroom type scenario as well where only registered users can create new rooms.