Skip to main content

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 SystemUbuntu 14.04 – 64 bit
RAMMinimum of 4GB, but 8GB preferred
CPUA decent Quad Core CPU
Ports to be unlocked80, 1925,9123 (TCP Ports), 16384-32768 (UDP)
Space requirements500GB for recording and storage
ServerCan 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


Popular posts from this blog

Implementing a new system call in Kernel version 2.6.32

A system call is used by application or user programs to request service from the operating systems. Since the user programs does not have direct access to the kernel whereas the OS has the direct access. OS can access the hardware through system calls only. The following files has to be modified for implementing a system call /usr/src/linux- /usr/src/linux- /usr/src/linux- /usr/src/linux- New set of files to be created Create a new directory newcall/ inside the path “ /usr/src/linux- ” Create new files Makefile, newcall.c and put them in the /usr/src/linux- folder Create new user files (in any folder of Linux) to test the system call testnewcall.c, testnewcall.h (created in /home/pradeepkumar ) syscall_table_32.S Find the file /usr/src/linux-

How to Access MOODLE in Intranet and Internet

When Moodle is accessed either in Intranet or internet, there will not be any issue. But occasions when the MOODLE Site has to be accessed both in the intranet and in the Internet, here is a simple trick Server Used: IBM Blade Servers Operating system: Windows Server 2008 Moodle Version: 2.4 WAMP Server is used. Number of Users: 3000 (Students) + 200 (Faculty) Open the config.php from ~/moodle/config.php include these lines $CFG->wwwroot = 'http://'.$server_id.'/vitcc'; $CFG->dataroot  = 'C:\\wamp\\moodledata'; before the following line $CFG->directorypermissions = 07xx; Restart the WAMP Server and you can Check MOODLE Site both in Internet and Intranet. The above Image tells the intranet Link and the internet link can be opened outside the campus network

Electrical Machine Design (equations)

Factors DC Machine Transformers Induction Machines Synchronous Machines Output Equation P a =C o D 2 Ln, where Pa=P/h for generators, Pa=P for motors For Single Phase Q=2.22 f B m A i K w A w d 10 -3 For Three Phase Q=3.33 f B m A i K w A w d 10 -3 Q=C o D 2 L n s KVA Input Q= HP * 0.746 / Cos f * h Q=C o D 2 L n s KVA Input Q= HP * 0.746 / Cos f * h For Turbo alternators Q=1.11B av ac K ws V a 2 L 10 -3 /n s Output Coefficient C o =B av ac* 10 -3 where Bav-magnetic loading and ac - electric loading DNA C o =11 K ws B av ac 10 -3 C o =11 K ws B av ac 10 -3 Choice of Magnetic Loading Flux Density in Teeth Frequency of Flux Reversals Size of machine DNA Magnetizing current, Flux Density, Iron loss Iron loss, Stability, Voltage Rating, Parallel Operation, Transient ShortCircuit current