BigBlueButton big meetings with many webcams

Aka, how to limit the number of webcams shown in web interface.

Aka, how users and developers don’t understand each others.

Aka, how I lost a lot of time searching community support forum when I only had to read a long configuration file.

As I started managing bigbluebutton for a group of schools in Italy, I really appreciated the way this sotware makes possible to have effective, high quality meetings with no additional software to be installed both on speaker and on attendee computer.

But I hit the limit on the awful resource management that modern browsers make. I had some troubles being a presenter with an entry level laptop thet make me possible to do almost anything my Sysadmin work requires.

The fact is that the server was not this busy but the problem was on my own system.

Server load parameters during the webinar.

The fact is that BigBlueButton doesn’t come with any limit about webcams and also don’t have any limit on the pagination of the live streams of users during the webinar. I learned the hard way that 25 live webcam streams can hang a common machine (even if with 16Gb of RAM).

BigBlueButton doesn’t recode any of the streams, thus leaving this hard task to the html5 web app.

Luckily there is a caveat to be gentle on the client load, with the pagination.

In the file /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml some parameters van be can triggered just to show few webcams at a time.

pagination:
      # whether to globally enable or disable pagination.
      enabled: true
      # how long (in ms) the negotiation will be debounced after a page change.
      pageChangeDebounceTime: 2500
      # video page sizes for DESKTOP endpoints. It stands for the number of SUBSCRIBER streams.
      # PUBLISHERS aren't accounted for .
      # A page size of 0 (zero) means that the page size is unlimited (disabled).
      desktopPageSizes:
        moderator: 5
        viewer: 5
      # video page sizes for MOBILE endpoints
      mobilePageSizes:
        moderator: 2
        viewer: 2

First, pagination has to be globally enabled, then the parameters can be modified. As default pagination is disabled and a 0 value means “no pagination” referred to each way.

Moderator and presenter are the same, so by default “Moderator” has a 0 default because it is meant to keep an eye on the meeting but it can be hard for the moderator’s machine.

With a value of 5, we will see our webcam, and 5 other webcams. If it is needed to see more webcams, controls of pagination are shown. Going to next page means to subscribe to other cameras streams, so the live streams don’t appear immediately but after a short lag.

I had to scroll all the settings.yml file because in the BigBlueButton documentation, no mention is made to the fact that pagination is the best method to limit the number of webcams present in the web interface.

Many times users ask if there is a way to limit the number of webcams shown but the answer is always the same, that BigBlueButton comes without any limit on the number of webcams. It wouldn’t be so difficult to add “But you can configure pagination instead!”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.