BigBlueButton is open source video conferencing software

BigBlueButton Free Video Conferencing Software

Video Collaboration Software For Online Learning Webinars

Rich featured free video conferencing software that provides seamless integration with popular platforms such as Drupal, WordPress, Redmine, Canvas and many more


BigBlueButton is an open source free video collaboration software designed particularly for the educational market. There are several features packaged together in this open source software. It offers a complete solution to conduct a virtual session for students and teachers. Therefore, It provides robust features such as video conferencing, shared whiteboard, electronic hand-raising, HD Audio, on-demand Webcasting, file sharing, presentation tools, Screen sharing, send public/private message, chat with emojis.

This web conferencing system is highly extensible and provides integrations with other powerful platforms. However, it gives provision to integrate it with other software that includes Drupal, Redmine, Canvas, WordPress, ATutor, Chamilo, Schoology, and many more. All these integrations make BigBlueButton the best choice as an online learning management system. Moreover, there is an HTML5 supported user interface that supports mobile layouts and runs on all major browsers.

BigBlueButton is mainly written in JavaScript along with the input of other languages such as Java, HTML5, Scala Ruby, Groovy, and CSS. This self hosted software provides a well-designed dashboard where a user can navigate easily. In addition, there is complete support available regarding the usage, deployment, and development of BigBlueButton.

System Requirements

Requirements to setup BigBlueButton include:

  • Java 11 JDK
  • Meteor version 1.8.x
  • Node.js 10.20.1+
  • MongoDB


BigBlueButton offers the following key features:

  • Open Source
  • Session Recording
  • File Sharing
  • Screen Sharing
  • WebRTC Compatible
  • Support For Third Party Software
  • HD Audio
  • Secure
  • Multi-user Whiteboard
  • Real-time Chats
  • Support Emojis
  • Polling
  • Robust
  • Parent / Student Portal
  • Extensible

Installation Instructions

Before setting up the development environment, you first need to setup a BigBlueButton 2.2 server that can be found at this link

First, run the following command:

 sudo apt-get install wget

Now, run the command to install core development tools

 sudo apt-get install git-core ant ant-contrib openjdk-8-jdk-headless

With the JDK installed, you need to set the JAVA_HOME variable. Edit ~/.profile

 vi ~/.profile

Add the following line at the end of the file

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Reload your profile (this will happen automatically when you next login, but we’ll do it explicitly here to load the new environment variable).

source ~/.profile

Do a quick test to ensure JAVA_HOME is set.

echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

In the next step, you need to install a number of tools using sdkman.

curl -s “” | bash
source “$HOME/.sdkman/bin/”
sdk install gradle 5.5.1
sdk install grails 3.3.9
sdk install sbt 1.2.8
sdk install maven 3.5.0

For setting up the code, Fork the BigBlueButton repository into your GitHub account and then clone it.

Run the following command to add the remote repository to our local clone.

git remote add upstream

Then, run the following commands to fetch the most up to date version of the remote repository.

git fetch upstream

After that, create a new branch to start your work and base the v2.2.x-release release branch

git checkout -b my-changes-branch upstream/v2.2.x-release

After setting up the server, we will setup the front end. Run the following commands to install Meteor.js

cd ~/dev/bigbluebutton/bigbluebutton-html5
curl | sh

Next, there is one change required to settings.yml to get webcam and screen share working in the client (assuming you’re using HTTPS already). The first step is to find the value for kurento.wsUrl packaged settings.yml.

grep "wsUrl" /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

Next, edit the development settings.yml and change wsUrl to match what was retrieved before.

vi private/config/settings.yml

You’re now ready to run the HTML5 code. First shut down the packaged version of the HTML5 client so you are not running two copies in parallel.

sudo systemctl stop bbb-html5

Finally, install the npm dependencies and run the front end with the following commands:

meteor npm install
npm start