ScriptsApr 26, 2026·3 min read

BigBlueButton — Open Source Virtual Classroom and Web Conferencing

BigBlueButton is a self-hosted web conferencing system designed for online learning. It provides real-time audio, video, screen sharing, collaborative whiteboard, breakout rooms, and recording — all within a browser.

Introduction

BigBlueButton is purpose-built for online education, offering a full web conferencing stack that runs on your own infrastructure. Schools, universities, and training organizations use it to deliver live virtual classes with interactive teaching tools.

What BigBlueButton Does

  • Streams real-time audio and video using WebRTC with no plugins required
  • Provides a multi-user whiteboard for collaborative drawing and annotation
  • Supports breakout rooms for small-group activities during a session
  • Records sessions with synchronized audio, video, slides, and chat for later playback
  • Offers polling, shared notes, and emoji reactions for student engagement

Architecture Overview

BigBlueButton is composed of several services: a Scala-based application server handles meeting logic, FreeSWITCH manages audio mixing, Kurento/mediasoup provides video routing, and a Node.js service manages the HTML5 client. Nginx ties the components together as a reverse proxy. Recordings are processed asynchronously into a browser-playable format. The system uses Redis for inter-process messaging and MongoDB for client state.

Self-Hosting & Configuration

  • Use the official install script on a dedicated Ubuntu server with a public hostname and valid SSL
  • Allocate at least 8 GB of RAM and 4 CPU cores for a small deployment
  • Integrate with LMS platforms like Moodle, Canvas, or Sakai via the built-in LTI connector
  • Configure TURN/STUN servers for reliable WebRTC connectivity behind firewalls
  • Scale larger deployments with Scalelite, a load balancer that distributes meetings across multiple BBB servers

Key Features

  • Presentation upload with slide-by-slide navigation and annotation
  • Multi-user whiteboard with drawing tools, text, and shape support
  • Closed captions and live transcription for accessibility
  • Webcam sharing with configurable quality and layout options
  • REST API for programmatic meeting creation and management

Comparison with Similar Tools

  • Jitsi Meet — lightweight video conferencing focused on simplicity; BigBlueButton adds education-specific features like whiteboard, breakout rooms, and LMS integration
  • Zoom — commercial platform; BigBlueButton provides similar classroom features as self-hosted open-source software
  • Google Meet — consumer video calling; lacks whiteboard, breakout rooms, and recording processing
  • OpenVidu — WebRTC platform for developers building custom video apps; BigBlueButton is a complete conferencing product
  • Matrix/Element — decentralized messaging with video calls; BigBlueButton is specialized for structured classroom sessions

FAQ

Q: How many users can a single BigBlueButton server support? A: A server with 8 cores and 16 GB RAM typically supports 100-150 concurrent users. For larger deployments, use Scalelite to distribute load across multiple servers.

Q: Can I embed BigBlueButton in my website or LMS? A: Yes. BigBlueButton provides LTI integration for Moodle, Canvas, and other LMS platforms, plus a REST API for custom embedding.

Q: Are recordings stored locally? A: Yes. Recordings are processed and stored on the server. You can configure external storage or move recordings to object storage after processing.

Q: Does it work on mobile devices? A: The HTML5 client works in mobile browsers on both iOS and Android without requiring a native app.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets