BigBlueButton: Videokonferenz aus dem Wald

Mit der Software BigBlueButton, die vom URZ bereitgestellt wird, können Sie Videokonferenzen durchführen. Dabei kann das Kamerabild einer Webcam anderen Teilnehmenden freigegeben werden. Mit einem Trick ist es möglich, die abgebildete Person vom Hintergrund zu trennen und den Hintergrund durch etwas anderes zu ersetzen, zum Beispiel durch ein Video eines Gebirgsbachs oder ein Foto der Internationalen Raumstation.

Im Wesentlichen gibt es zwei verschiedene Ansätze, virtuelle Hintergründe bereitzustellen:

  • mit klassischem Greenscreen: Beim klassischen Greescreen wird wie im Fernsehstudio ein gleichmäßig grüner Hintergrund im Raum platziert, z. B. eine grüne Leinwand. Per Software werden alle grünen Pixel durch ein gewähltes Hintergrundbild ersetzt. Eine solche Software ist beispielsweise OBS-Studio.
  • virtual GreenscreenBeim virtual Greenscreen ist kein grüner Hintergrund notwendig. Dort klassifiziert ein neuronales Netz für jedes Pixel im Bild, ob es zum Vorder- oder Hintergrund gehört.

Virtuelle Kamera

Von Haus aus kann BigBlueButton nur die Kameras des Rechners freigeben – bei einem Laptop mit eingebauter Kamera ist es nur diese eine, bei Smartphones stehen in der Regel Front- und Hauptkamera zur Auswahl. Der Trick besteht nun darin, per Software eine virtuelle Kamera im System zu installieren, die das Bild einer echten Kamera als Eingabe nutzt und anschließend die Bildverarbeitung durchführt. Dabei kann zum Beispiel der Hintergrund ersetzt oder alternativ unscharf verwischt werden. Nach der Bildverarbeitung muss das Ergebnis als virtuelle Kamera bereitgestellt werden. Für Windows gibt es verschiedene Anbieter solcher Software, die eine entsprechende Lösung zum Kauf anbieten.

Für Linux sind verschiedene Open-Source-Lösungen auf Basis künstlicher neuronaler Netze zu finden, die einen Virtual Greenscreen bereitstellen. Ein Beispiel ist das Projekt Virtual Webcam. Es nutzt das Kernelmodul v4l2loopback, das bei Debian und Ubuntu über das Paket v4l2loopback-dkms installiert werden kann. Das Kernelmodul muss geladen werden, z. B. als root mit folgendem Kommando:

modprobe v4l2loopback devices=1 exclusive_caps=1 video_nr=2 card_label="v4l2loopback"

Danach existiert im System eine weitere Kamera. Diese hat die Besonderheit, dass sie den Inhalt aus einem Programm bekommen kann. Ein solches Programm, das von einer echten Kamera Bilder aufnimmt, anschließend die Bildanalyse und Zusammensetzung von Vorder- und Hintergrund vornimmt sowie das Ergebnis in die virtuelle Kamera schreibt, kann vom Virtual-Webcam-Projekt bezogen werden. Die Installation der Software ist im Readme des Projekts beschrieben. Die Ausführung der Software benötigt einiges an Rechenleistung – ein leistungsstarker Computer ist Voraussetzung. Es können verschiedene vortrainierte neuronale Netze genutzt werden. Es gibt vortrainierte Netze auf Basis von mobilenet, und auf Basis von ResNet50. Ich habe es auf einem Ryzen 3600 getestet. Die Nutzung von mobilenet lastet ungefähr drei der sechs CPU-Kerne aus, sodass noch genug Rechenleistung für BBB im Browser zur Verfügung steht. Das Netz auf Basis von ResNet50 kann nur ausgeführt werden, wenn eine Grafikkarte zur Verfügung steht, die von Tensorflow unterstützt wird. Dann wird auf der CPU auch nur noch ein Kern ausgelastet.

Nutzung der virtuellen Kamera in BigBlueButton

Die virtuelle Kamera steht im System zur Verfügung und kann sowohl von Firefox als auch von Chrome genutzt werden. Problematisch ist an dieser Stelle, dass die
echte Kamera von der Virtual-Greenscreen-Software genutzt wird und eine gleichzeitige Nutzung durch mehrere Programme unzulässig ist.

Firefox

In Firefox muss die Kamerafreigabe in der richtigen Reihenfolge geschehen:

  1. Wenn Sie in Firefox die Kameraberechtigung für die BBB-Server gespeichert haben, müssen Sie diese löschen. Beachten Sie, dass Firefox sich die Berechtigung für jeden einzelnen BBB-Server merkt.
  2. Wählen Sie die virtuelle Kamera bei der ersten Kameraabfrage aus. Wenn an der Stelle die echte Kamera gewählt wird, schlägt die Abfrage von BigBlueButton fehl, und die Kamerafreigabe scheitert komplett. In dem Fall muss die Teilnahme an der BBB-Sitzung neugestartet werden (Seite neu laden).
  3. Die zweite Abfrage dient der Ermittlung der unterstützen Auflösungen. In diesem Fall wird bei mir nur die echte Kamera angeboten und diese kann gewählt werden.
  4. In der Kameraauswahl von BBB kann die virtuelle Kamera gewählt werden. Anschließend fragt BBB noch ein paar mal nach der Kameraberechtigung. Diese muss gewährt werden.

Anschließend wird die virtuelle Kamera in der Konferenz verwendet.

Chrome/Chromium

In Chrome und Chromium muss der Zugriff auf die Kamera gestattet sein. Wenn dies nicht gestattet ist, können Sie dies in den Einstellungen ändern. Die virtuelle Kamera kann wie eine normale Kamera genutzt werden.


Wer Ähnliches bzw. andere Lösungen für BigBlueButton schon ausprobiert hat, kann seine Erfahrungen in den Kommentaren gern schildern.

Verwendete Schlagwörter: , , ,
Veröffentlicht in Allgemein, E-Learning, HowTo, Software, Top-Artikel, Videokonferenz

Schreibe einen Kommentar