Big Blue Button – a Virtual Classroom Software

This article appears in “Open Source For You” Magazine in June 2015 Edition. Its a simple and easy tryout. If you are a startup and cannot afford for software cost, here you go, its completely free. 
There are some links to images which you cannot see, if you want to see those images, please purchase it online


BigBlueButton is a Voice Over IP (VOIP) based web conferencing software. This tool is helpful for remote learning, virtual classrooms, distance education, online learning, etc. Some of the features of BigBlueButton includes
  • Record and Playback the entire session
  • Whiteboard for lectures (Similar to a black board in a classroom)
  • Desktop Sharing
  • Integrated VOIP for listening and speaking
  • Presentation (Any pdf or presentation file can be uploaded for teaching)
  • Webcam can be shared between the users
  • Private and group chat (In case the teacher can chat with a student or the students and teachers can chat within a group)
This tool is completely open source and API is provided for deploying in local server. Also there is a developer version available for continuous development of the software.
BigBlueButton divides into three windows within a browser, the left side window shows the list of users joined during the session, the web camera control, audio, video control, etc. The middle window shows the whiteboard wherein the teacher can write, scribble, type, draw, etc to broadcast it to all the listeners and the right side window is a chat window in which all the users chat as a group or individually they can chat with the teacher or other users.

Installation of BigBlueButton in Ubuntu

BigBlueButton currently released the 0.9.0 version that can installed mainly on a Ubuntu 14.04 OS that is released with Long Term Support (LTS). Here are the recommendations before installing in a server.
Operating System Ubuntu 14.04 – 64 bit
RAM Minimum of 4GB, but 8GB preferred
CPU A decent Quad Core CPU
Ports to be unlocked 80, 1925,9123 (TCP Ports), 16384-32768 (UDP)
Space requirements 500GB for recording and storage
Bandwidth 100Mbps
Server Can be a Bare metal rather than a Virtual machine
Table 1: prerequisites for BigBlueButton server
Installation of BigBlueButton in a server is a long process that consumes around 500MB of software to be downloaded and takes around 2 to 3 hours to complete.
Before installing the software, the following things have to be checked
  • Locale should be UTF-8
  • Check it using the command
$ cat /etc/default/locale



if not, then install the packages,

$ sudo apt-get install language-pack-en

$ sudo update-locale LANG=en_US.UTF-8

Check the version of Ubuntu

$ cat /etc/lsb_release




Once the checks are over, here is the installation of BigBlueButton
Server Update
Check trusty multiverse is there in the sources.list, if not add the following
$ grep “multiverse” /etc/apt/sources.list
The output should have
deb trusty multiverse

if the above line is not there, you can add the following command

$ echo "deb trusty multiverse" | sudo tee -a /etc/apt/sources.list
Now update the server before proceeding to the next step, here is the command
$ sudo apt-get update

$ sudo apt-get dist-upgrade
Once the upgrading is over, restart the OS and now to install the LibreOffice. Ubuntu comes with LibreOffice 4.2.7 and BigBlueButton uses LibreOffice 4.3 for document conversion, so the PPA for LibreOffice 4.3 version have to be added.
$ sudo apt-get install software-properties-common

$ sudo add-apt-repository ppa:libreoffice/libreoffice-4-3

Installation of Key of BigBlueButton

The local machine need to access the BigBlueButton server, so the key have to be installed. Here is the command for installing the key.
$ wget -O- | sudo apt-key add -

$ echo "deb bigbluebutton-trusty main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list

$ sudo apt-get update
Install ffmpeg
ffmpeg is a software that needs to be installed since it creates the playback components like audio, video, presentation, desktop sharing, etc.  This tool needs other dependencies also, so a group of tools have to be installed. Also there are some customisation in the OS. So the entire code is pasted in a shell script and the script runs the command one by one.
Simply copy paste the following code in to a file

sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev


cd /usr/local/src

if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then

sudo wget "${FFMPEG_VERSION}.tar.bz2"

sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"


cd "ffmpeg-${FFMPEG_VERSION}"

sudo ./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx

sudo make

sudo checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default
and run the file using
$ sh
(This process will take almost more than an hour to install ffmpeg and it adds some modules into the kernel to support the audio, video, etc.
Install BigBlueButton
Finally install the BigBlueButton software using the following command   
$ sudo apt-get install bigbluebutton
The above command will install the entire library of softwares with all the necessary dependencies, and this will download as many as 400MB of software from the Server. Figure 1 shows the installation of BigBlueButton
Installation of Demo Software
If you want to see the demo of how BigBlueButton is used, you can install the software using the command
$ sudo apt-get install bbb-demo

If you want to remove, then use the following commands

$ sudo apt-get purge bbb-demo
Other Settings
To enable the WebRTC (Audio) for the Server, the following command can be used
$ sudo bbb-conf --enablewebrtc
To make a clean restart of BigBlueButton Server, you can use the following commands
$ sudo bbb-conf --clean

$ sudo bbb-conf --check
–clean will clear all the log files of bigbluebutton and –check will search through and find any errors. See the Figure 2 for the –check command. The IP address allocated to my server is (its a local IP). To check the status of my server, you can see the Figure 3.
Once the demo server is opened, just distribute the IP addresses and the users can connected to the IP and they can join the session. During the first time, the browser checks for devices like Microphone, Speaker and Web camera. The users are having the option of joining the session only as a listener or both listener and a speaker. In case, the user need not allow the browser to access the device.
Integrating with MOODLE (A Case Study)
MOODLE is a open Source Learning Management System (LMS) that comes with various plugins for additional functionalities. BigBlueButton also has two plugins RecordingsBN and BigBlueButtonBN
This is to integrate MOODLE and BigBlueButton so that a teacher can create an activity within MOODLE and the students can join themselves in the session. The teacher have the entire control of the session. The students can join the session, only after the teacher joins the session. Also the session can be recorded by the teacher and may be used for later use.
This plugin accepts two inputs URL and a Secret Key (This setting will be set by the administrator of MOODLE). The teachers and the students need not have any control over this setting. The secret can be obtained using
$ sudo bbb-conf –secret
  Secret: 1c5d8b004826c6edcbe19fxxxxxxxxxx
Both the above parameters have to be set as shown in the figure 4
Figure 4 – MOODLE Integration
Figure 5 – Full demonstration of BigBlueButton
Figure 5 shows the demonstration of a lecture on a white board wherein a teacher is typing an information and there are two other users in the session listening. The users are viewing the video of the teacher and they can send messages to the teacher through the window provided in the right side column.
Using these open source tools MOODLE and BigBlueButton, huge amount of money can be saved in learning and colleges/universities across the country come forward to motivate students and faculty members to learn/use open source tools for their learning.
Useful (Reference) Links:
To download MOODLE :
Edit: Now recently Big Blue Button added a new functionality called “Poll”, in which a speaker can ask for a question and answered by the listeners anonymously and the poll can be shared instantly to the viewers.
See the screen shot here

Big Blue Button
Big Blue Button

Big Blue Button
Big Blue Button

Big Blue Button
Big Blue Button


Post a Comment

Popular Posts