Wie ist ein BigBlueButton-System aufgebaut?

Was muss ich als Serverbetreiber über die Architektur wissen?
Das erklären wir in diesem Artikel.

In Wirklichkeit gibt es nicht die eine „BigBlueButton-Server-Software“, welche man installiert und dann betreibt. Stattdessen werden bei der Installation von BigBlueButton viele verschiedene Softwaren installiert und so miteinander konfiguriert, dass sie gemeinsam einen Videokonferenz-Server bereitstellen. Die Software von BBB selbst ist dabei nur ein Teil von vielen.

Folgende externe Softwaren werden unter anderem für einen BBB-Server benötigt:

  • Freeswitch
    Eine Telefonanlagensoftware, die sämtliche Audio-Verbindungen für die Konferenzen für Teilnehmer per Browser und per Telefoneinwahl bereitstellt.
  • red5
    Ein Streaming-Server für das RTMP-Protokoll.
  • nginx
    Ein Webserver (ähnlich zu Apache2), welcher alle HTTP-Anfragen beantwortet
  • Tomcat 7
    Ein Serverprogramm, welches die in Java geschriebenen Teile von BigBlueButton bereitstellt.
  • Kurento
    Ein WebRTC-Medienserver, welcher sich um den Transport der Video-Daten (Webcam, Screenshare) kümmert.
  • Etherpad
    Ein Echtzeit-Editor, in dem mehrere Benutzer gleichzeitig an einem Text arbeiten können. Wird für den gemeinsamen Notizblock genutzt.
  • MongoDB und Redis
    Datenbanken und Caches, welche als interner Informationsspeicher dienen.

Da die einzelne Installation aller Dienste per Hand sehr viel Arbeit ist und hunderte von Konfigurationsschritte durchgeführt werden müssen, empfehlen wir stattdessen ein Installationsskript (z.B. „bbb-install“) zum Installieren zu benutzen.

Aus Sicht des Endbenutzers kann man den BigBlueButton weiterhin in drei wichtige Teile aufteilen:

  • BBB-Server
    Einzig über eine HTTP-Schnittstelle (API) kann der BBB-Server gesteuert werden. Er besitzt keine Oberfläche, verwaltet aber alle Konferenzen, Teilnehmer an diesen Konferenzen, Aufnahmen usw.
  • HTML5-Client
    Hiermit ist die Oberfläche gemeint, die man während der Konferenzen sieht. Alle Konferenz-Funktionen werden hier für den Benutzer verfügbar gemacht. Es wird zwischen Moderatoren und Gästen einerseits unterschieden und andererseits zwischen Personen mit und ohne Präsentator-Recht.
    Bis vor kurzem hatte BigBlueButton noch eine auf Flash basierende Konferenz-Oberfläche. Diese ist nun, da Flash ausgestorben ist, auf aktuelle HTML5-Technologie aktualisiert worden.
  • Frontend / Verwaltungsoberfläche für Konferenzen
    Wird standardmäßig NICHT mitgeliefert. Es gibt aber vom BigBlueButton-Projekt eine eigene Oberfläche namens „Greenlight“. Hier hat man eine Webseite, auf man sich einloggen kann und selbst Konferenzen anlegen und Aufnahmen ansehen kann. Diese Oberfläche steuert im Endeffekt nur die API des BBB-Servers an.