# BBB Meetup (deutschsprachig)
* in BBB : https://meet.systect.de/b/hol-jn7-4yr
* **aktuell im 2-wöchigen Turnus**, nächstes Treffen Montag, 08.02.2021 21:00 bis etwa 22:30)
* Moderatoren: Holger Bruch (Initiator, freiberuflicher Berater http://systect.de / Systemanalyse und IT-Beratung), basisbit (BBB Contributer) und andere
* Matrix zum selben Thema: https://matrix.to/#/#bigbluebutton-de:matrix.org
* Notizen: https://md.daten.reisen/s/B19CTe0KL
* Hintergrund: Die Idee eines regelmäßigen Austausches zum Thema BBB entstand während einer Session der DiVOC im April 2020 (DiVOC - Ein Digital Verteiltes Online-Chaos, oder die Abkürzung einfach mal anders rum lesen!): https://di.c3voc.de/sessions-liste
* Teilnehmende: BBB-Admins und BBB-Interessierte
## BBB-Meetup 28.6.2021
**Rückblick BBB-World**
https://www.youtube.com/watch?v=e-a5Ip_HOos
https://www.youtube.com/watch?v=5QnOfzeSIsY
https://www.youtube.com/watch?v=pp-sYEBF1Is
https://www.youtube.com/watch?v=HXH8EQHYnwA
- Inconsistent e-mail notifications regarding agenda and session links.
- one place with overview and all session links.
- Vorschlag Luckow: "Das können wir besser organisieren."
https://pretix.eu/about/en/
https://venueless.org/en/
Great to experience a worldwide representation & best practise of teachers.
Q: What are your reality situations? F.e. Not many webcams but more participants. So far live systems been limited to 200 participants.
Average school class size per country: https://www.oecd-ilibrary.org/docserver/eag-2013-26-de.pdf?expires=1624911200&id=id&accname=guest&checksum=F6D4184FFA8A09DBC685A583E4C6F7C9
- How is it at universitites ?
**BBB Plugins**
https://www.youtube.com/watch?v=qtPQE7YP1Ac
BigBlueButton Summit IX: Mobile Client Update (Andorid & iOS)
https://github.com/bigbluebutton/bigbluebutton/issues/8732
https://github.com/bennyboer/bbb_app
https://play.google.com/store/apps/details?id=edu.hm.cs.tape.bbb_app
https://apps.apple.com/de/app/bbb-app/id1548489267
https://spacedeck.com/
**Nächstes Mal:**
Keycloak
How to set up hybrid classes with BBB?
## BBB-Meetup 17.05.2021
* STUN-Server für DDOS misbraucht
* Thomas als investigativer Journalist für das Schulen/BBB/Bundesverdienstkreuz-Thema
* Ziel: Anlieferung von Backgroundstory, um als ebbba Öffentlichkeitsarbeit zu machen.
* Datenschutz-Zertifikat (Ablasshandel für Datenschutzverstöße vergleichbar mit der CO2-Abgabe)
* Vorschlag: 50 € / User je Verstoß (Anwendung)
* Roland sucht Mitstreiter
* Thomas W. würde spanisch-sprachige BBB-Community kontaktieren
* Topic Working Groups
* Warum BBB? (in Abgrenzung zu anderen Lösungen)
* Zielgruppe Entscheider Link zu FAQ/Forum
* Was machen wir in Leerlaufzeiten mit unserer BBB-Infrastruktur?
* & Meinrad
## BBB-Meetup 10.02.2021
* Kommunikation mit den Entwicklern
* 2.3-alpha-5 ;), 2.3-alpha6 soeben erschienen:-)
https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.3-alpha-6
* Videos zum Vortrag mit Fred Dixon beim virtuellen Adminstammtisch Berlin vom 4.2.2021:
* https://opencast.beuth-hochschule.de/paella/ui/watch.html?id=0a8bf26f-732c-4250-b989-6127c6a322a8
oder
https://bbb-scalelite.beuth-hochschule.de/playback/presentation/2.0/playback.html?meetingId=cfeffe1c238338cad079174bc7f8568120af5c07-1612456996941
* shared notes vom Vortrag
https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/vSIpeZhdvDpCCVAFdhYQuKFP
* BigBlueButton-Adopter’s Meeting
https://hackmd.io/Gmibu54OT16PiomcwICMtw
* Hauptkritik, die bei Kay ankommt: Mikro-/Video-Auswahl sollte wie bei Jitsi über die drei Punkte erreichbar sein, dann bräuchte es auch den Echo-Test... siehe auch: https://github.com/bigbluebutton/bigbluebutton/issues/9723
* Browser-Berechtigungen korrigieren
https://soethe.net/?page_id=232
* Skip Echo-Test: https://github.com/bigbluebutton/bigbluebutton/pull/11284
* Andere Permissions für Break-out-Rooms
https://groups.google.com/g/bigbluebutton-dev/c/uXsA9oMkPlc/m/L5jLQCcwAwAJ
* Dokumentationen:
* Ferdinand Soethes BBB Praxishandbuch: https://soethe.net/bigbluebutton/
* https://schullogin.de/documentation/Index.html
Rahmen
https://groups.google.com/g/bigbluebutton-dev/c/gVsTqfRh0YU/m/lqHkmQOhBwAJ
* HTML5Client Version ist über Menu Versionsinfo abrufbar. Damit ist BBB-Version ableitbar
(Bspw. Holgers Server: Clientversion: 1114 = BBB2.2.31)
* Vereinsgründung/User Group
* Es gibt verschiedene Gruppen/Kanäle, auf denen Kommunikation stattfindet. Schwierig, sich übergreifend zusammenzufinden, eigene Themen zu platzieren/Entwicklungen zu finanzieren
* Gedanke: Gründung eines Fördervereins, ggf. gemeinnützig, z.B. zur Finanzierung von Stipendien, Vertretung gegenüber BBB
* Professionalisierung der Community-Arbeit
* Entwurf der Satzung: https://md.darmstadt.ccc.de/bbbev?both
* Anregungen gerne dort notieren
* Vorschlag Stefan: wöchentliches Meeting zur Ausarbeitung
* Ziele: Förderung der BBB-Entwicklung
* Weitere, aktuelle Initiativen
* Infra Run
* Service Agreement Vertrag zwischen den staatlichen deutschen Hochschulen und Blindsidenetworks (Malte Dreyer der HU Berlin)
-> erstes Treffen zwecks Vereinsgründung soll am 11.2. ab 17:00 stattfinden
## BBB-Meetup 25.1.2021
* Wöchentliches BBB-Adopters-Meeting, montags, 15:00h
* https://conference.opencast-niedersachsen.de/b/lar-lue-6yn-lni
* Agenden: https://hackmd.io/Gmibu54OT16PiomcwICMtw
* Mailingliste zum Austausch: https://zki.de/mailman/listinfo/bbb-tech (registrierung: mail an bbb-tech-join@zki.de)
* Turn-Server skalierbar?
* Empfehlung: 1-Turnserver je 12 BBB-Server (bei welcher Servergröße / Nutzer pro Server?)
* Brauchen UDP-Sockets, Port-Range kann ggf. erweitert werden
* Alternativ: eturnal (https://eturnal.net/), kann jedoch kein unverschlüsselten Traffic über 443, bei vielen SQUID-Proxies auf Port 80 disabled
* 1007er-oder 1009er Fehler können Überlastung des Turn-Server anzeigen
* Bei Überlastung: Log-Einträge des coturn Service wenn keine udp/tcp ports mehr belegbar sind
* Telefoneinwahl für viele Konferenzen (routing?)
* Eine Einwahlnummer pro Server
* Evtl. Freeswitch davor schalten mit Ansage und Meetingnummer
* Es muss mindestens einer per Web-Client per Audio verbunden sein, damit die Einwahl funktioniert.
* Alles noch ungelöst.
* Empfehlung: NodeJS Memory-Zuweisung erhöhen, siehe https://github.com/bigbluebutton/bigbluebutton/issues/11183
* Probleme mit enableHTML5WebcamPagination
* Negative Rückmeldung durch viele Benutzer
* Bei Mobile macht es in jedem Fall sinn.
* Als Begrenzung für Extremfälle nutzbar (Mobilgeräte oder große Sessions)
* Probleme mit enableHTML5CameraQualityThresholds
* wenn möglich immer aktivieren
* könnte problematisch sein wenn Vortragende die Webcam als Whiteboard-Stream verwenden
* BBB LTI - Interesse? Ggf. als Ersatz zu Moodle-Plugin...
## BBB-Meetup 11.1.2021
* Bericht vom Tage (Schulstart in vielen Bundesländern)
* senfcall war stabil heute; keine Support-Tickets für Fehler
* kurzzeitige Sperrung von neuen Sessions
* gut nutzbar über Tage
* ein AX61 Server mit ~960 Nutzern
* fast alle mit Ton (880)
* ab 460 Nutzern war NodeJS am Anschlag
* weitere 8 Kern Systeme dynamisch hinzugenommen
* 2.3 alpha4
* Release in März/April ?
* Unterstützung große Räume wird besser
* Userlisten rendering
* besseres Whiteboarding
* useability verbesserungen
* Test-Umgebung: test23.bigbluebutton.org
* Dev-Umgebung: dev23.bigbluebutton.org
* 2.2.31 version (auf bare metal)
* NodeJs Verbesserung: +50-100% mehr User
* freeSwitch und NodeJS auf gleicher CPU Prio
* webcams können bei Last aussteigen; Ton bleibt
* Video Pagination: https://github.com/bigbluebutton/bigbluebutton/pull/10293
* mehr als 25 video : paging einschalten (alphabetisch)
* auf Mobilgeräten schon kleinere Grenze einrichten
* siehe Befehle im letzten Protokoll
* dynamic video quality: https://github.com/bigbluebutton/bigbluebutton/pull/10213
* dynamisches Runterregeln der Webcam Qualität (bitrate und frames per second) nutzen
* BBB - Jitsi Vergleich (beide open source)
* Jitsi clients sind bei 20+ Personen ausgelastet
* BBB erzeugt für jeden Teilnehmer einen Audiostreams
* Jitsi client muss selber mixen
* BBB mehr für Lehre geeignet (Breakout rooms)
## BBB-Meetup 30.11.2020
* 2.2.30 kommt mit Workaround für Freeswitch Connection Freeze Problem (https://github.com/bigbluebutton/bigbluebutton/issues/9667):
nach Installation dies ausführen
```
yq w -i /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.media.sipjsHackViaWs true
sed -i 's/https/http/g' /etc/bigbluebutton/nginx/sip.nginx
sed -i 's/7443/5066/g' /etc/bigbluebutton/nginx/sip.nginx
```
* Greenlight:
* Achtet auf eure neuen Greenlight Benutzerkonten - Registrierung und Freischaltung ohne gültige Email Adresse: [CVE-2020-29043](https://nvd.nist.gov/vuln/detail/CVE-2020-29043)
* Frontend:
* Brute-Force Raumpasswort-Durchprobieren: [CVE-2020-29042](https://nvd.nist.gov/vuln/detail/CVE-2020-29042)
BugFix Vorschlag: in Nginx site conf Request pro sekunde limitieren auf dem Greenlight server mit limit_req_zone.
* Beispiel (bitte die Werte für rate und burst noch mal überprüfen):
`/etc/nginx/conf.d/limit.conf`
```
limit_req_zone $binary_remote_addr zone=login:10m rate=10r/m;
```
`/etc/bigbluebutton/nginx/greenlight_rate_limit.nginx`
```
location ~ /b/.*/login$ {
limit_req zone=login burst=5;
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
}
```
* Probleme mit Handy und Breakoutrooms: Wenn Breakouträume offen sind, gehen mit 'meinem' Handy und Firefox keine Videos. Weder eigenes Video aktivieren noch sieht man das Video vom Moderator.
Hier finden sich die Ergebnisse der BBB-Umfrage des ZKI-Kreises:
https://doi.org/10.5281/zenodo.4300202
Mailingliste des ZKI:
* bbb-tech-join@zki.de Zur Anmeldung einfach an diese Adresse mailen
## BBB-Meetup 16.11.2020
Heute war es ein (vergleichsweise mal) kurzes Meetup. Wir bleiben dennoch beim 14-Tage Turnus und machen es lieber kürzer, wenn es nichts besonderes zu besprechen gibt :-)
* Erste Installationen mit 2.2.29 => keine negativen Rückmeldungen
* Prometheus/Grafana Monitoring registriert scheinbar wartende User als gestartete Sessions/Räume (?)
## BBB-Meetup 02.11.2020
* Feature: Audio-Übertragung bei Screensharing (chromium)
https://github.com/bigbluebutton/bigbluebutton/pull/10310
Im Hackathon Pad: Team 4
https://board.net/p/BBBhackathon#lineNumber=106
* Scalelite
* Wie viele Nutzer kann Scalelite verwalten.
* Scalelite verwaltet Sessions, nicht Nutzer
* Nutzer eines Meetings werden an den jeweiligen Server weitergeleitet
* Welche Limitierungen sind bekannt
* Wenn auf Scalelite-Server Aufzeichnungen liegen, die parallel von vielen angesehen werden
* Wie verhält sich Scalelite, wenn das Potential der angebundenen BBB Server erreicht ist?
* Monitoring von Scalelite?
* Nach Entfernen eines Servers aus Scalelite (via server remove <id>). Greenlight-Anfrage, ob Server läuft verursacht 500er Fehler. Womöglich ist disable zuvor erforderlich? Wäre dann ein Bug...
* Nach Untersagen der Bildschirmfreigabe kann Genehmigung nicht erneut erteilt
* Fenster werden nicht in Liste angezeigt, wenn sie minimiert sind
* Im Firefox kann auf roter Kamera eine gesperrte Freigabe wieder vornehmen
* Sicherheits-Themen
* BBB-Team verbessert Organisation, so soll schnellere Behandlung sicherheitskritischer Meldung gewährleistet werden
* Empfehlungen für bei vielen gleichzeitigen Nutzern:
https://docs.bigbluebutton.org/2.2/customize.html#reduce-bandwidth-for-webcams
* Frage: wie vergibt man Raum einen sprechenden Namen?
* Kann in DB geändert werden oder per Skript
* Raumnamen aendern: (3 zeilen!)
docker exec -it greenlight-v2 bash
bundle exec rails c
Room.find_by(uid: "CURRENT_ROOM_ID").update_attribute(:uid, "NEW_CUSTOM_ID")
(Attribute fuer den Raumcode ist: access_code)
(Beenden mit Strg-d)
* Gibt es Erfahrung mit MeetingOwl?
* Begrenzt. Um einen Tisch herum gut.
https://gitlab.fachschaften.org/fsi-ansible/scalelite
https://gitlab.com/bbbatscale/bbbatscale
https://gitlab.rlp.net/rzht-public/3b-download
Beispielhafte scalelite-Konfig:
```/etc/default/scalelite:
URL_HOST=bbb-lb.fh-potsdam.de
SECRET_KEY_BASE=xxx
LOADBALANCER_SECRET=xxx
DATABASE_URL=postgresql://postgres:xxx@postgres/scalelite?pool=5
REDIS_URL=redis://redis/scalelite
SCALELITE_TAG=v1
SCALELITE_RECORDING_DIR=/mnt/scalelite-recordings/var/bigbluebutton
NGINX_SSL=true
SCALELITE_NGINX_EXTRA_OPTS=--mount type=bind,source=/etc/letsencrypt,target=/etc/nginx/ssl,readonly
POLL_INTERVAL=60
RECORDING_IMPORT_POLL=true
RECORDING_IMPORT_POLL_INTERVAL=60
PORT=3000
INTERVAL=60
RAILS_ENV=production
#RECORDING_WORK_DIR=/var/bigbluebutton/recording/scalelite
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=xxx
/etc/systemd/system/postgresql.service
[Unit]
Description=Postgresql Server
After=network-online.target
Wants=network-online.target
Before=scalelite-api.target
PartOf=scalelite-api.target
[Service]
EnvironmentFile=/etc/default/scalelite
ExecStartPre=-/usr/bin/docker kill postgres
ExecStartPre=-/usr/bin/docker rm postgres
ExecStartPre=/usr/bin/docker pull postgres:11
ExecStart=/usr/bin/docker run --name postgres --env-file /etc/default/scalelite --network scalelite --publish 127.0.0.1:5432:5432 -v /root/db/production:/var/lib/postgresql/data postgres:11
[Install]
WantedBy=scalelite.target
```
Exemplarische Konfig-Files redis: Postgres/Redis ebenso als Docker-
/etc/systemd/system/redis.service
```
[Unit]
Description=Redis Server
After=network-online.target
Wants=network-online.target
Before=scalelite-api.target
PartOf=scalelite-api.target
[Service]
EnvironmentFile=/etc/default/scalelite
ExecStartPre=-/usr/bin/docker kill redis
ExecStartPre=-/usr/bin/docker rm redis
ExecStartPre=/usr/bin/docker pull redis
ExecStart=/usr/bin/docker run --name redis --env-file /etc/default/scalelite --network scalelite -v /root/redis/data:/data redis redis-server --appendonly yes
[Install]
WantedBy=scalelite.target
```
### Dynamisches Runterscalen der Kamera-Qualität
Befehle in applyConfig:
```
enableHTML5CameraQualityThresholds
```
### Pagination der Videostreams
```
enableHTML5WebcamPagination
yq w -i $HTML5_CONFIG public.kurento.pagination.desktopPageSizes.moderator 6 # default=0
yq w -i $HTML5_CONFIG public.kurento.pagination.desktopPageSizes.viewer 6 # default=5
yq w -i $HTML5_CONFIG public.kurento.pagination.mobilePageSizes.moderator 3 # default=2
yq w -i $HTML5_CONFIG public.kurento.pagination.mobilePageSizes.viewer 3 # default=2
```
## BBB-Meetup, 19.10.2020
* Neues zu 2.30 ?
* Vermehrte Nachfrage nach BBB ?
* 2.2.28 update (heute)
echotest bug fix (problem in 2.27)
* ZKI.de (Heilbronn) macht jetzt auch einen BBB Stammtisch.
* Donnerstags 16-17h. Gerne Werbung für diesen Stammtisch machen
* Was ist der Link für den Stammtisch?
* Wer hat Erfahrungen mit >300 Teilnehmern ?
* Mikrofon-Empfehlung:
* SPC Gear SM900 Streaming USB Microphone SPG026
* Tipps zum upgrade auf aktuelles Greenlight:
Folgendes wird zur PreUpload Präsentation gebraucht (siehe auch https://docs.bigbluebutton.org/greenlight/gl-config.html#updating-from-version-prior-to-27 z.B. für Pfad zum nginx-conf-file)
```
# Only needed if using presentations and deployed at a relative root (ex "/b")
# If deploying at "/", delete the section below
location /rails/active_storage {
return 301 /b$request_uri;
}
```
im docker-compose.yml bei den volumes
` - ./storage:/usr/src/app/storage`
in bigbluebutton.properties:
```
# Disable recording by default.
# true - don't record even if record param in the api call is set to record
# false - when record param is passed from api, override this default
disableRecordingDefault=false
# Start recording when first user joins the meeting.
# For backward compatibility with 0.81 where whole meeting
# is recorded.
autoStartRecording=false
# Allow the user to start/stop recording.
allowStartStopRecording=true
```
Audio-Settings für Apply-Config, um Audio-Qualität zu erhöhen(brauchen etwas mehr Bandbreite)
```
echo " - configuring freeswitch:conference.conf.xml"
xmlstarlet ed -L -u "/configuration/profiles/profile[@name='cdquality']/param[@name='interval']/@value" -v 10 /opt/freeswitch/conf/autoload_configs/conference.conf.xml
xmlstarlet ed -L -u "/configuration/profiles/profile[@name='cdquality']/param[@name='energy-level']/@value" -v 60 /opt/freeswitch/conf/autoload_configs/conference.conf.xml
echo " - configuring freeswitch:opus.conf.xml"
xmlstarlet ed -L -u "/configuration/settings/param[@name='use-vbr']/@value" -v 0 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -u "/configuration/settings/param[@name='complexity']/@value" -v 10 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -u "/configuration/settings/param[@name='packet-loss-percent']/@value" -v 8 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -s "/configuration/settings" -t elem -n paramTMP \
-i //paramTMP -t attr -n name -v maxaveragebitrate \
-i //paramTMP -t attr -n value -v 256000 \
-r //paramTMP -v param /opt/freeswitch/conf/autoload_configs/opus.conf.xml
```
## BBB-Meetup, 05.10.2020
* 2.3er Alpha
* Installiert man fehlende packages auf 18.04 (minimal) nach, lässt sich Alpha installieren, sonst schlagen Skripte fehl.
* nettools (insbesondere ifconfig)
* gnupg2
* LibreOffice wurde in Docker ausgelagert
* Security
* DFN-Cert machen (nach Beantragung) Scans (selbst bzw. via Dienstleister) auf Netze der Hochschulen und melden bekannte Probleme für installierte Software (allerdings ohne installierte Versionen zu berücksichtigen)
* Jitsi-Erfahrungen
* Im Jitsi-Cluster: Memory-Leak(?), öfter Neustart erforderlich
* Interessantes Feature 2 Teilnehmer können gleichzeitig Screen sharen
* LDAP und tokenbasierte Anmeldung (JWT) gleichzeitig? Bisher nicht hinbekommen.
* Last-Erfahrungen?
* 200 Leute gleichzeitig
* 400 Leute gleichzeitig (über Cluster verteilt, 12 Server)
* elan e.V. soll einen Lasttest mit BBB machen
* Hybrid-Erfahrungen?
* Webcam/Videokamera in Hörsälen
* Übertragung via BBB
* Rückkanal über Chat/Forum (Moodle)
* Erfahrungen mit 3 Kurento-Servern?
* etwas entlastete CPUs, kein großer Unterschied
* Scalelite betrachtet anscheinend ausschließlich Anzahl Meetings, nicht Anzahl Nutzer/Videos o.ä.
* Info wer's brauchen kann: Die BBB-App für Nextcloud geht jetzt auch wenn man einen Scalelite hinterlegt. Issue war hier https://github.com/sualko/cloud_bbb/issues/47 und wurde Ende Juli gefixt.
* Telefoneinwahl
* Bisher nicht bei vielen eingerichtet
* HB hat sipgate eingerichtet, manchmal allerdings kein Verbindungsaufbau möglich
* anonyme Telefoneinwahl mittels: #31#
* https://docs.bigbluebutton.org/2.2/customize.html#add-a-phone-number-to-the-conference-bridge
* https://groups.google.com/g/bigbluebutton-setup/c/-9kRZQE8lLw/m/8lwB_n19AwAJ
* Playback-Notes-Plugin um geteilte Notizen nach Sessionende zu speichern
## BBB-Meetup, 21.09.2020
* Installationserfahrungen Version 2.3
* Empfehlung von Fred Dixon ist mit frischer Ubuntu 18.04. Installation zu starten, kein Upgrade von Ubuntu 16.04. zu versuchen, denn es gibt keinen supporteten Upgrade-Pfad, wird von den Entwicklern nicht getestet; wer seine Videos braucht soll die aus dem alten in das neue System kopieren
* Erfahrungen mit Version 2.2.24
* seit der Version 2.2.24 wird client-seitig stumm geschaltet, nicht mehr über freeswitch
* mögliches Vorgehen bei einem Upgrade: BBB-Instanzen in scalelite disablen, upgraden (z.B. via ansible), einfache connect-Tests via API machen und anschließen BBB-nodes wieder in scalelite enablen
* Problem mit Kurento Servern unter 2.2.24:
* drei Kurento Server: einer für die Kameras, einer für listen-only und einer für screen sharing
* aufgrund eines Fehlers im Installskript für die Version 2.2.24 funktionerte mit dem Firefox nur der erster Kurento-Server (durch fehlende Zertifikats-Prüfung)
* mit der Version 2.2.25 wurde dieser Fehler behoben
* wesentlicher Vorteil der drei Kurento-Server: selbst wenn z.B. der Server für die Kameras abstürzen sollte, ginge noch Listen-only und screen sharing
* OpenCast-DACH-Konferenz2020: Skript zum Transfer von BBB-Aufzeichnungen nach OpenCast wurde u.a. vorgestellt
* ist auch Streaming von Präsentationen möglich (?)
* Transcodierung auf anderem Server (OpenCast), falls BBB-Server CPU-mäßig zu gering ausgestattet
* https://github.com/elan-ev/opencast-bigbluebutton-integration
* https://github.com/elan-ev/opencast-bigbluebutton-recordings-plugin
* Pull Request für das Moodle-BBB-Plugin, um sich die Opencast-Serien-ID zu holen:
https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/issues/284
* Kommerzielle Angebote:
* https://www.minuskel.de/nc/hosting/bigbluebutton-hosting.html
* https://www.open-source-company.de/bigbluebutton-hosting/
* https://rackspeed.de/bigbluebutton-bbb-server/
* https://bbbserver.de/bigbluebutton-hosting/
* https://collocall.de/
* https://owncube.com/bbb_de.php
* https://www.fairkom.eu/fairteaching
* https://www.hostsharing.net/loesungen/bigbluebutton/
* Neue Frontends
* [InfraBlue](https://edugit.org/infrablue)
* [BBBatScale](https://gitlab.com/bbbatscale/bbbatscale)
* git://git.lwn.net/lpcfe.git bzw. https://lwn.net/Articles/830436/
* https://github.com/lukas2511/voctoconf
* mehr frontends und andere projekte werden in einem [issue](https://github.com/bigbluebutton/bigbluebutton.github.io/issues/192) gesammelt
* SAML Authentication für Greenlight
* https://github.com/bigbluebutton/greenlight/issues/180
* https://github.com/bigbluebutton/greenlight/pull/1334
* https://github.com/intecsoft/greenlight/blob/DocumentationRefactor/SAMLconfiguration.md
* Didaktik für Lehrende
* https://lehrerfortbildung-bw.de/st_digital/medienwerkstatt/dossiers/bbb/didaktik/
* Snippet zur Generierung wbm/mp4 Video-Formate
```
echo " - Due to iOS incompatibility encoding to mp4 also"
PRESENTATION=/usr/local/bigbluebutton/core/scripts/presentation.yml
yq w -i $PRESENTATION video_formats[0] "webm"
yq w -i $PRESENTATION video_formats[1] "mp4"
```
## BBB-Meetup, 07.09.2020
* Nächster Termin: 21.9., 21:00 Uhr (wir haben die Moderation auf mehrere Schultern verteilt und wagen dann doch wieder einen 14 tägigen Turnus, nachdem die Mehrheit der Anwesenden dafür war :-)
* Erfahrungen mit neuer 2.30 Alpha/Beta-Version? Ja, noch ein paar Probleme beim update
* Erfahrung mit hybriden BBB Betrieb (präzens + online) : ein Teil nur online (Web, Telefon) und ein anderer Teil präsent vor Ort ist (und der Präsentator vor Ort oder online ist)
* Setup? 2/3. Reihe Kamera, die Tafel filmt, in Planung: BBB auch in Hörsaal zeigen.
* Problematisch: Headset während Vortrag? Sprecher aus Hörsaal in Konferenz einzubinden, evtl. per Richtmikrofon?
* Mini-Mischer mit USB/HDMI-Anschluss / oder Atem BlackMagic (siehe Notes von ca. vor 2 Monaten)
* komische Übersetzungen bei 2.2.23
* bzgl Namen der Video Qualität Auswahl
* Lokalisierung erfolgt via https://github.com/bigbluebutton/bigbluebutton/blob/develop/bigbluebutton-html5/private/locales/de.json
* 2.2.23 Neuerungen:
* paging von Videos möglich (weitere Neuerungen geplant)
* BBB-Hackathon
* Ergebnisse unter https://board.net/p/BBBhackathon
* Alternatives Ansible Setup für BBB:
* https://github.com/kalkspace/bbb_ansible (Schwerpunkt auf reduziertem Logging)
* Tipps & Tricks für Greenlight-Update
* Locales in gemountetes Volume kopieren und dort customizen
## BBB-Meetup, 10.8.2020
Klaus hat sein NextCloud-BBB-Plugin vorgestellt und Holger vergessen, für ein Protokoll zu sorgen /o\
Wir haben wegen Urlaubszeit uns für das nächste Mal am 07.10. verabredet und den Turnus vorerst auf 4 wöchentlich umgestellt.
## BBB-Meetup, 27.7.2020
* liveStreaming
* Screensharing-Übertragungsprobleme
* Könnte an Virenscanner liegen
* Bei Übertragung eines CAD-Programms hat Screensharing zu Verzögerung der Übertragung/Ruckeln geführt -> evtl. Lösungansatz: Bildschirmauflösung des geteilten Screens reduzieren (bbb properties?) in /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
```
screenshare:
constraints:
video:
frameRate:
ideal: 5
max: 10
width:
max: 2560
height:
max: 1600
audio: false
```
* Zugehörige Snippets für apply-config.sh:
```bash
yq w -i /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.kurento.screenshare.constraints.video.width.max 1920
yq w -i /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml public.kurento.screenshare.constraints.video.height.max 1080
```
* Erfahrungen mit 2.3?
* Bisher noch niemand
* laut Google-dev-Gruppe gibt es derzeit noch Probleme im Zusammenspiel mit Greenlight
* Umfrage zu Datenschutz
* In Brandenburg wird gerade ein Fragebogen an alle Hochschulen zum Thema Datenschutz bei Videokonferenz-Systemen verschickt
* DSGVO von MS Teams wird über Standardvertragsklauseln "abgedeckt"
* usb Kamera unter Linux deaktivieren (falls man 2 hat und BBB immer die falsche will):
```bash
echo 0 > /sys/bus/usb/devices/${BUS}-${DEVPATH}/bConfigurationValue
0=aus, 1=an`
```
* DSGVO-Hinweise:
* Maskieren von Telefoneinwahlnummern (danach via `/opt/freeswitch/bin/fs_cli -x "reloadxml"` neu starten):
```bash
<!-- PIN ist min 5, max 6 Stellen (für Einwahl in Breakout-Räume wird Raumnummer der PIN angehängt), 3 Versuche, 4s warten bis Eingabe ohne # als beendet gewertet -->
<action application="play_and_get_digits" data="5 6 3 4000 # conference/conf-pin.wav ivr/ivr-that_was_an_invalid_entry.wav pin \d+"/>
<!-- Maskieren von Telefonnummern: -->
<action application="set" data="MASK=${system echo ${caller_id_name} | grep -o -P '.{0,4}$' | sed 's/^/xxx-xxx-/' }"/>
<action application="set_profile_var" data="caller_id_name=${MASK}"/>
```
* * Suche beim Teilen von Räumen liefert Namen registrierter Nutzer
* "Speed-Dating" mit BBB: https://github.com/city-npo/bbb-speeddating
* In github übertragene Doku mit Tipps aus Pad und andere: https://github.com/J0000/bbb.documentation.german
* Off-Topic: Konferenzanbieter (vermutlich ohne BBB) mit interessantem Raum-Auswahl-Ansatz: https://yotribe.com
* NextCloud als Greenlight-Alternative
* https://github.com/sualko/cloud_bbb/
* https://apps.nextcloud.com/apps/bbb
* HB lädt Entwickler für eines der nächsten Treffen ein
* Anleitung zu BBB unter CC-BY 4.0: https://bbb.kalk.space/Anleitung_BBB_Kalkspace.pdf Demnächst noch als editierbares Dokument in github
* SIP: große Telekom-Anbieter könnten SipTrunk eventuell kostenlos anbieten
* apply-config.sh Snippets:
```bash
sed -i 's/defaultWelcomeMessage=.*/defaultWelcomeMessage=Herzlich willkommen im <b>%%CONFNAME%%<\/b>\!<br><br> Falls Sie Probleme mit dem Audio-Ton haben, schreiben Sie bitte eine Nachricht in den Chat. Bitte nutzen Sie unbedingt ein Headset! Falls Sie kein Headset haben, schalten Sie Ihr Mikrofon nur an, wenn Sie sprechen.<br>Lesen Sie die <a href="https:\/\/fhpcloud.fh-potsdam.de\/s\/yeTq47sZC2WHsDd" target="_blank"><u>Anleitung zu BigBlueButton f\ür Teilnehmende<\/u><\/a>. Weitere Informationen f\ür Lehrende finden Sie auf der <a href="https:\/\/www.fh-potsdam.de\/digitale-lehre\/" target="_blank"><u>ZEDI-Webseite<\/u><\/a>./g' /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
echo " - configuring freeswitch:opus.conf.xml"
xmlstarlet ed -L -u "/configuration/settings/param[@name='use-vbr']/@value" -v 0 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -u "/configuration/settings/param[@name='complexity']/@value" -v 10 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -u "/configuration/settings/param[@name='packet-loss-percent']/@value" -v 8 /opt/freeswitch/conf/autoload_configs/opus.conf.xml
xmlstarlet ed -L -s "/configuration/settings" -t elem -n paramTMP \
-i //paramTMP -t attr -n name -v maxaveragebitrate \
-i //paramTMP -t attr -n value -v 256000 \
-r //paramTMP -v param /opt/freeswitch/conf/autoload_configs/opus.conf.xml
```
* Audio Aktivierungslvl anpassen:
```bash
echo " - configuring freeswitch:conference.conf.xml"
xmlstarlet ed -L -u "/configuration/profiles/profile[@name='cdquality']/param[@name='interval']/@value" -v 10 /opt/freeswitch/conf/autoload_configs/conference.conf.xml
xmlstarlet ed -L -u "/configuration/profiles/profile[@name='cdquality']/param[@name='energy-level']/@value" -v 60 /opt/freeswitch/conf/autoload_configs/conference.conf.xml
```
## BBB-Meetup 13.7.
Themen
* SIP-Einwahl & Breakout Räume:
* Telefoneinwahl in Breakout Räume möglich, wenn zusätzliche Stelle im Einwahlpattern definiert:
* <action application="play_and_get_digits" data="5 6 3 4000 # conference/conf-pin.wav ivr/ivr-that_was_an_invalid_entry.wav pin \d+"/>
*
* SIP PIN <> Zugangscode ?
greenlight generiert Zugangscode
* statische PIN definieren ?
per API möglich ? voicebridge parameter als PIN beim starten => Siehe https://github.com/bigbluebutton/greenlight/issues/1645
* mehrere Load-Balancer (Scalelite) nutzen
https://edugit.org/infrablue/python-bigbluebutton2 (BW Schulverwaltung)
* Version 2.3-Alpha-1 verfügbar
* keine Erfahrung vorhanden
* Was sind die neuen features?
* neue Version 2.2.20
* keine Beschwerden :-)
* https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.2.20
* Verbesserung der Sprachqualität bei mobilen Geräten
* Nutzer über Smartphone, i.d.R. schlechtes WLAN als Ursache, abgehackt, verzögert.
* https://freeswitch.org/confluence/display/FREESWITCH/mod_opus adjust-bitrate
* Soundfiles
* Bitraten-Varianten umrechnen via sox möglich
* Probleme mit Firefox unter Android
* Vorschläge: Chrome/Chromium probieren, Bug melden
* Probleme mit mehreren Kameras
* es wird immer die falsche ausgewählt. Warum unklar....
* Aufzeichnung OpenCast
* Es gibt Plugins, die nach OpenCast publishen, Problem: Präsentationen
* Aufzeichnungen:
* Aufzeichnungen bestehen aus mehreren Dateien, Audio, Screensharing, Präsentation, Playback-Seite
* BBB-Downloader redered Video: https://github.com/jibon57/bbb-recorder
* OBS https://obsproject.com/
* https://github.com/aau-zid
* Moodle-Plugin Konferenzen auch für "Externe" User freigeben? Wäre so was sinnvoll?
* Ziel: Keine Nutzerverwaltung über BBB/greenlight, sondern via Moodle, wie könnte man Videokonferenz mit Eltern durchführen (allow guest im Moodle)
* viele Code-Beispiele in https://github.com/aau-zid
* Sipgate/Telefoneinwahl-Angebote:
* https://www.sipgatetrunking.de/tarife
* https://www.dus.net/de/geschaeftskunden/dustel-white
* https://www.easybell.de/
## BBB Meetup 29.6.2020
* BBB Meetup wechselt in einen 14-tägigen Turnus, ungerade Wochen. Nächste Termine: 13.7., 27.7, 10.8.
* Audio out of sync Probleme (virtueller 6-Kern)
* automatischer sync-job (in der BBB installation)
* RS 4000 SAS G8SE a1 Root-Server bei NETCUP => könnte das Problem sein, da nur 200-300MBit
* Firefox
* Upload des Teilnehmers evtl. zu langsam?
* Eventuell ntp-Problem?
* SIP Einwahl (>= 10 Personen parallel)
* sipgate basistarif ab 3 Teilnehmern blockiert
* welches sipgate Produkt passt ?
* sipgate trunking ?
* Hat jemand Tipps zur Anbindung Cisco Call Manager -> Freeswitch Konfiguration?*
* Zweite Greenlight-Instanz:
Entsprechend Installationsanleitung aufsetzen.
* Wie sähe eine vollumfängliche Alternative zu MS Teams aus?
* Matterhorn plus BBB?
* Moodle mit BBB plug-in? (Erweiterungen: + NextCloud; + Stundenplan; +Matrix)
* Nextcloud: Entweder Talk (4-5 User) oder kommerzielles Angebot von Nextcloud, alternativ Plugin
https://www.cloudcomputing-insider.de/nextcloud-zeigt-talk-9-mit-agpl-backend-a-936058/
* https://www.opensourcelms.de/
* Beispielhaftes Setup an Berufsschule in BW
* LDAP, Untis Stundenplan, Moodle, BBB
* Herausforderung:: Systeme synchronisieren.
* Viel Scripting
* latest BBB version 2.2.18 (bug fix => 2.2.19)
* Chaosradio Podcast:
* https://chaosradio.de/cr261-videokonferenzen-ohne-cloud
* DSGVO-Anfragen?
* Zoom scheint nicht zu reagieren(?)
## 22. Juni 2020 ("BBB Kamingespräch")
22. Juni 2020 ("BBB Kamingespräch")
* BBB als Webinar Plattform?
* BBB ohne Präsentation startbar?
* siehe https://github.com/bigbluebutton/bigbluebutton/issues/9397
* Standardpräsentationen z.B. unter lehrerfortbildung-bw.de/go/bbb
* Teilnehmer zu Beginn Webcam einschränken
* whiteboard, Präsentations- Ergebnisse abspeichern? Bisher leider nicht. Präsentation selbst kann heruntergeladen werden, jedoch nicht die Notizen. Alternativ Mitschnitt via OBS (Achtung: Datenschutzhinweis aufnehmen)
* BBB als BarCamp Infrastruktur
* #schuleneudenken mit BBB (Cyber4Edu /Steini)
* Kombination LiveStreaming und BBB
* Viele Server bei Hetzner, in eigenem RZ, via Ansible aufgesetzt.
* Streaming in 8 sessions, danach via Dispatcher zufällig in 10er Gruppen in echte BBB Räume verteilt, Protokolle per Email eingesammelt.
* Große Begeisterung bei Teilnehmern
* Für Streaming kam VOC-Hardware zum Einsatz
* Cyber4Edu erstellt gerade Lasttest-Tool, mit dem Anzahl Sessions, Kameras, etc konfiguriert werden können
* Default Docker Subnet und Audiotest
* 172.17-Subnetz, nach Änderung ging Audiotest in 2 Sektunden statt 5 Sekunden
Docker Subnet ändern:
in die /etc/docker/daemon.json (ggf. erstellen) folgendes eintragen:
{
"default-address-pools":
[
{"base":"10.10.0.0/16","size":24}
]
}
* Gibt es schon (deutschsprachige) Dokumentation unter CC? Erste Tipps im Pad. Sonst immer gerne teilen und unter CC veröffentlichen.
* https://opencast.beuth-hochschule.de/engage/ui/index.html?e=1&p=1&epFrom=9cfccd64-3332-4a51-8e03-80e780e05f0e
* https://www.fh-potsdam.de/fileadmin/user_dateien/1_informieren/G_Anleitungen/BBB_Anleitung_Teilnehmende_Stand200528.pdf
* https://www.virtuelle-ph.at/wp-content/uploads/2019/10/Handreichung_WebinareHochschule-Final.pdf
* https://lehrerfortbildung-bw.de/st_digital/elearning/webinaregestalten/fb1/
* https://www.europa-uni.de/de/struktur/zsfl/institutionen/elearning/materialien/Anleitung_BigBlueButton.pdf
* https://lehrerfortbildung-bw.de/st_digital/elearning/webinaregestalten/fb1/index.html
* https://lehrerfortbildung-bw.de/st_digital/medienwerkstatt/dossiers/bbb/
* YouTube Channel Uni Dresden: https://www.youtube.com/watch?v=pbEq-o_07Lo
* Usecase - Speeddating mit BBB
* demnächst auf github .. (Jo)
* Präsentation Uploads
* Upload Limit
PROPERTIES=/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
sed -i 's/^maxNumPages=.*/maxNumPages=500/' $PROPERTIES
sed -i 's/^maxFileSizeUpload=.*/maxFileSizeUpload=99000000/' $PROPERTIES
sed -n 's/\(client_max_body_size\s*\)[0-9]*m/\1100m/' /etc/bigbluebutton/nginx/web
* Dokumentenupload: Kann man Schriften hochladen?
* Feature Request: andere Dateitypen unterstützen (jpg, png) : schnell per drag and drop reinziehen?
* Server-Reboots?
* Manche nächtlich, andere nicht, aber teilweise Kurentos neu starten (bleiben manchmal auf 100% hängen)
## 15. Juni 2020
### BBB-FW Config
bezogen auf: https://docs.bigbluebutton.org/2.2/configure-firewall.html#configure-your-firewall
* UDP ports in the range 16384 - 32768 (for FreeSWITCH/HTML5 RTP streams)
In der Version 2.2.9 (mindestens) muss neben UDP auch TCP freigegeben werden. Sonst braucht der Verbindungsaufbau länger oder bricht ab.
-----
#### bbb only ipv4
bug in kurento server (von ?? bis 6.13.2)
derzeit in ubuntu 6.13.0
siehe: https://doc-kurento.readthedocs.io/en/stable/project/relnotes/v6_13_2.html?highlight=disable%20ipv6
In /etc/kurento/kurento.conf.json entsprechend ändern.
* Fehlermeldung in Kurento "Underlying Transport Error"
* bbb-conf --status zeigt bei kurento "failed"
#### IPv4 und IPv6 dual Stack
Ansible Grundlage: https://codeberg.org/DigitalSouveraeneSchule/bbb.git
#### Ergänzung:
- name: copy bigbluebutton_sip_addr_map
template:
src: bigbluebutton_sip_addr_map.conf.j2
dest: /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf
- name: import proxy-pass in sip.nginx
replace:
path: /etc/bigbluebutton/nginx/sip.nginx
regexp: '^.*proxy_pass.*$'
replace: ' proxy_pass https://$freeswitch_addr:7443;'
- name: ensure some params are present in sip_profiles
replace:
path: /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml
regexp: '^.*name="enable-3pcc.*$'
replace: ' <param name="enable-3pcc" value="true"/>'
mit: bigbluebutton_sip_addr_map.conf.j2
```
map $remote_addr $freeswitch_addr {
"~:" [{{ ansible_default_ipv6.address }}];
default {{ ansible_default_ipv4.address }};
}
```
### Streaming Docker läuft
BigBlueButton 2.2.17: kleinere Security Verbesserungen: FreeSWITCH mit Passwort + Moderator Ernennungen BugFix
Vergleichstabelle Video-Konferenzsysteme
- Warum ist BBB die beste Alternative?
(für Vereine, Parteien, Kirchen, ...)
- BBB Anbieter Übersichten für gemeinnützige Vereine (Hosten Städte BBB für ihre Bürger?)
https://www.blackmagicdesign.com/de/products/atemmini
Billige Camcorder: Panasonic HC-V180 (170 Euro im MM/Saturn/Amazon) . Man kann Demomode und Powersave ausschalten und die Kameras im Dauerbetrieb laufen lassen (8h getestet).
## 08. Juni 2020
Unsere Themen
* Neues Release 2.2.17
* Frage nach festen Release-Zyklen?
* Vorerst (nicht)
* Wie genau funktioniert TURN? Ablauf, 1007 analysieren?
* InfraBlue & python-bigbluebutton2
* https://edugit.org/infrablue/infrablue
* https://edugit.org/infrablue/python-bigbluebutton2
* Bridge zu offenem Dienst für Slack/Matrix-Channel?.
* Was kann so an "Support-Anfragen" kommen?
* Wie ist der aktuelle Stand mit dem Bug: https://github.com/bigbluebutton/bigbluebutton/issues/9667 und https://gitlab.senfcall.de/senfcall-public/freeswitch-watchdog (sollte man das haben?)
* Error 1020 „Media could not reach server“ tritt öfter mal auf. Woran kann das liegen?
* Scalelite Logs sind DSGVO relevant (eventell in die policy aufnehmen): https://docs.bigbluebutton.org/admin/privacy.html#scalelite-api-container-logs
#### Updates
Scalelite v1.0.3: security update + bugfixes
BBB 2.2.15 + 2.2.16 + 2.2.17: minor bugfixes, new LibreOffice&OpenOffice versions
Greenlight 2.6.1 - 2.6.4: security updates + minor improvements
#### Probleme bei Mikrofon-Aktivierung
Könnte an TURN-Server-Überlastung liegen, dort zu hohe CPU-Last
Ubuntu scheint manchmal die IPv6-Adresse zu vergessen, wenn man Dual-Stack fährt, dann hat man einen ungültigen ICE-Kandidaten (oder swas)=> Empfehlung
#### Verbindungsaufbau mit STUN/TURN
Client stellt Kandidatenliste zusammen
* Eigene IPs
* Über STUN-Server ermittelte, gespiegelte IP/Port
* IP/Port des Relay(TURN)-Servers
Lokale Adressen funktionieren in der Regel nicht (nur wenn im gleichen Netz)
Funktionsweise STUN/TURN Server
http://help.estos.com/help/de-DE/procall/5.1/erestunservice/dokumentation/htm/IDD_FUNCTIONALITY.htm
Kurento kann "trickle ICE" - da sammelt sich der Client ein paar erste mögliche Kombinationen, sendet diese an den Server und versucht sich damit zu verbinden. Währenddessen sucht sich der Client weitere IP Adressen zusammen, welche an den Server nach und nach gesendet werden. Freeswitch kann dieses "schnelle" trickle ICE nicht, deshalb sammelt der Client erst mal bis zu 5 Sekunden sich die Adressen zusammen. Dadurch dauert das Echo-Test verbinden recht lange (10+ Sekunden da das ICE Protokoll zwei mal durchlaufen wird), während das aufbauen der Verbindung zu Kurento (Bildschirmfreigabe / Webcam) meist nur 1 bis 2 Sekunden dauert.
#### Links
ICE and WebRTC - What is it?
https://temasys.io/webrtc-ice-sorcery/
https://test.webrtc.org/
Senfcode gibt es unter:
https://senfcall.de/opensource/
InfraBlue / python-bigbluebutton
https://edugit.org/InfraBlue
GDPR authenticator Beispiel bei Senfcall: https://gitlab.senfcall.de/senfcall-public/gdpr-authenticator
#### Git-Exkurs
```sh
git clone https://github.com/MEIN_USER/greenlight.git
git remote add upstream https://github.com/bigbluebutton/greenlight.git
## Merging Upstream repo into your fork
# Check out the branch you wish to merge to. Usually, you will merge into master.
git checkout master
# Pull the desired branch from the upstream repository.
git pull upstream master
# Push the merge to your GitHub repository.
git push origin master
```
#### Deaktivieren von "You are now muted"
* Wav-Dateien durch leere Dateien oder Töne ersetzen
#### Greenlight Start nach Boot fixen
In der docker-compose.yml im db-Teil
restart: unless-stopped
#### Freeswitch phone call in codes
```
0 : mute
* : deaf mute
9 : energy up
8 : energy equ
7 : energy dn
6 : vol listen up
5 : vol listen zero
4 : vol listen dn
3 : vol talk up
2 : vol talk zero
1 : vol talk dn
```
#### CpuFrequencyScaling
```sh
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
```
... für jeden CPU Kern - auch HyperThreading Kerne
## 25. Mai 2020
#### Neues aus 2.2.14
Fix Regression: Hätte bei hoher Last zu Absturz Session führen können
Freeswitch nun auf master statt release
Lastspitzen TURN-Server sollten bereits seit 2.2.12 reduziert sein
Etherpad/Geteilte Notizen: Mit 2.3 Versionsupdate geplant. Dauert vrstl. noch ein paar Monate
#### Traffic an 192.168.x.x
Problem mit Traffic der von den BBB-Server kommt und auf 192.168.x.x-Adressen geht. Zusammenhang STUN-Server. Absender ist laut IP BBB-Server. "Work-Around": via IP-Tables sperren. Ursache möglicherweise Firefox, der private IP sendet. Issue gibt es hierzu noch keinen. Wäre wohl auch eher Firefox-Issue.
Blackhole: ip route add blackhole 192.168.0.0/16
oder besser reject?
Server-Konfiguration:
Idee: RFC 1918 / IPv6 ULA Netze blockieren, da WebRTC probed, falls ein Browser über entspr. IPs verfügt.
```
ip route add prohibit 10.0.0.0/8
ip route add prohibit 172.16.0.0/12
ip route add prohibit 192.168.0.0/16
```
IPv6
ip -6 route add prohibit fc00::/7
#### Packages:
was ist in diesen debianpaketen noch so an uneingecheckter config? → github.com/bbb-pkg/
#### BBB-Livestream
https://github.com/aau-zid/BigBlueButton-liveStreaming/
Frisst relativ viel CPU, leider bietet BBB keine API, deshalb realisiert über Selenium. Noch in Beta.
Alternative Möglichkeit via OBS.
#### Apply-Config:
https://docs.bigbluebutton.org/2.2/customize.html#automatically-apply-configuration-changes-on-restart
#### Eventuelle Abhilfe bei sipgate Einwahlerreichbarkeitsproblemen (wird getestet)
```
<param name="expire-seconds" value="600"/>
<param name="ping" value="25"/>
```
In die Sipgate Konto XML.
Rückmeldung: In einer ab und an nicht erreichbaren BBB instanz waren die Parameter schon drin und Probleme halten an, es wird Richtung Firewall nun geschaut.
#### IPad Screensharing
https://doku.ulmlernt.de/#peripheriegeraete_ipad_tablet
Bug in webkit, damit ios-safari auch screensharing bekäme: https://bugs.webkit.org/show_bug.cgi?id=186294
#### Aktuell größte Kritikpunkte an BBB
* Mehr als 250 user ohne Probleme wäre echt geil.. :-) x x x x x x x
* UX bei der SIP-Einwahl: Keine Wartschleife, wenn die Konferenz noch nicht begonnen hat, wechselnde Telefon-PIN für den gleichen Raum x x
* Zu wenig Video-Streams - (aber daran wird lt. Fred Dixon in der Version 2.3 gearbeitet)x
* "Hand heben" sollte einen roten Hintergrund oder ein anderes optisches Signal haben - ist bei unseren Schulen ein ganz großes Thema :-) Wenn jemand seinen eigenen Status setzt (z.B. Hand heben), geht das bei Dozenten unter. Hier wäre ein sichtbarer Hinweis super. x x x x x x x x / +3 x x x x x x x x x x
* Greenlight: Default-Präsentation je Raum hinterlegbar x x
* "Last N" Webcams - oder Pagination, s.d. ein Trainer bei einem webinar schnell durch alle Teilnehmenden blättern kann x x x x x x x x x x x x
* Video-zusammenmischen auf Serverseite fehlt x
* Die Liste der wartenden Teilnehmer im "Warteraum" mit Scrollbar versehen. Aktuell rutschen die unten raus.
* persönliches Foto als Standbild :-) x x x x
* kaputtes packaging!11! (configfiles auch wirklich als config markieren, keine applysh-dinge) x x x x x
* Download der Präsentation mitsamt Anmerkungen/Zeichnungen nach Ende der Konferenz. x x x x x x x x x x x x x
* Breakout-Raume-Whiteboard sichern x x x
* einbetten von anderen multiuser-services als präsentation, wie z.b. eigenes cryptpad, anderes whiteboardtool, etc. - also einfach url x x x x x x
* Status (Hand heben) ist nicht sichtbar, wenn Teilnehmer sich im Breakout-Room befindet.
* Auswahlmöglichkeit um nachträglich Mikro und Webcam zu wechseln. Ton/Bild aus/an ist etwas nervig. x x x x
* Mehrfache Permissionabfrage im Webcam-Flow durch Vorschau/Übertragung
* wirkliche öffentliche opensource-entwicklung, nicht nur codedrops x x x
* kein push-to-talk (pr ist offen) x x
* Präsentationsobjekte (Text, Zeichnungen) bearbeiten können. Bessere Whiteboard-Funktionalität x x x x x x x x x
* Ständige Echo-Tests bei BreakoutRoom-Wechsel unterbinden x x x x
* Roter Button zum auflegen x x x x x x x x
* Anonyme Umfrage statt Namen anzeigen x x x
* Greenscreen-Effect
* Präsentationspool x x
#### Moodle-Plugin Issues:
* https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/issues/243
* https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/issues/244
* https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/issues/250
* https://github.com/blindsidenetworks/moodle-mod_bigbluebuttonbn/issues/251
## Nachtrag 18. Mai 2020
Nachfolgende Config-Dateien hat Martin noch im Nachgang bereitgestellt. *Holger*
##### /opt/freeswitch/conf/autoload_configs/conference.conf.xml:
```xmlm
<profile name="cdquality">
...
<param name="rate" value="48000"/>
<param name="interval" value="10"/>
<param name="energy-level" value="60"/>
...
```
##### /opt/freeswitch/conf/autoload_configs/opus.conf.xml
```xml
...
<param name="use-vbr" value="0"/>
<param name="complexity" value="10"/>
<param name="packet-loss-percent" value="8"/>
<param name="maxaveragebitrate" value="256000"/>
...
````
#### Einfaches Logging
##### /usr/lib/check_mk_agent/local/bbb_local_check.py
```python
#!/usr/bin/env python3
import subprocess
status_cmd = "docker exec scalelite-api ./bin/rake status"
loadbalancer_name = "bbb.mydomain.invalid" # no spaces allowed
bbb_host_rooms_warn = 20
bbb_host_rooms_crit = 40
bbb_host_users_warn = 500
bbb_host_users_crit = 800
bbb_host_videos_warn = 20
bbb_host_videos_crit = 30
bbb_host_max_users_warn = 100
bbb_host_max_users_crit = 150
bbb_lb_rooms_warn = 150
bbb_lb_rooms_crit = 200
bbb_lb_users_warn = 1500
bbb_lb_users_crit = 2000
bbb_lb_videos_warn = 150
bbb_lb_videos_crit = 200
servers = {}
bbb_rooms = 0
bbb_users = 0
bbb_max_users = 0
bbb_videos = 0
res = subprocess.run(status_cmd, shell=True, stdout=subprocess.PIPE)
for line in res.stdout.decode("utf-8").splitlines():
line = line.strip()
if line.startswith("bbb"):
(host, enabled, status, rooms, users, max_users, videos) = line.split()
servers[host] = {}
servers[host]['host'] = host
servers[host]['enabled'] = enabled
servers[host]['rooms'] = rooms
servers[host]['rooms_warn'] = bbb_host_rooms_warn
servers[host]['rooms_crit'] = bbb_host_rooms_crit
servers[host]['users'] = users
servers[host]['users_warn'] = bbb_host_users_warn
servers[host]['users_crit'] = bbb_host_users_crit
servers[host]['max_users'] = max_users
servers[host]['max_users_warn'] = bbb_host_max_users_warn
servers[host]['max_users_crit'] = bbb_host_max_users_crit
servers[host]['videos'] = videos
servers[host]['videos_warn'] = bbb_host_videos_warn
servers[host]['videos_crit'] = bbb_host_videos_crit
bbb_rooms = bbb_rooms + int(rooms)
bbb_users = bbb_users + int(users)
bbb_videos = bbb_videos + int(videos)
if int(max_users) > bbb_max_users:
bbb_max_users = int(max_users)
servers[loadbalancer_name] = {}
servers[loadbalancer_name]['host'] = loadbalancer_name
servers[loadbalancer_name]['rooms'] = bbb_rooms
servers[loadbalancer_name]['rooms_warn'] = bbb_lb_rooms_warn
servers[loadbalancer_name]['rooms_crit'] = bbb_lb_rooms_crit
servers[loadbalancer_name]['users'] = bbb_users
servers[loadbalancer_name]['users_warn'] = bbb_lb_users_warn
servers[loadbalancer_name]['users_crit'] = bbb_lb_users_crit
servers[loadbalancer_name]['videos'] = bbb_videos
servers[loadbalancer_name]['videos_warn'] = bbb_lb_videos_warn
servers[loadbalancer_name]['videos_crit'] = bbb_lb_videos_crit
servers[loadbalancer_name]['max_users'] = bbb_max_users
for server in servers:
if server != loadbalancer_name:
print("P {host}_bigbluebutton rooms={rooms};{rooms_warn};{rooms_crit}|users={users};{users_warn};{users_crit}|videos={videos};{videos_warn};{videos_crit}|max_users={max_users};{max_users_warn};{max_users_crit} bigbluebutton statistics for {host}".format(**servers[server]))
else:
print("P {host}_bigbluebutton rooms={rooms};{rooms_warn};{rooms_crit}|users={users};{users_warn};{users_crit}|videos={videos};{videos_warn};{videos_crit}|max_users={max_users} bigbluebutton statistics for {host}".format(**servers[server]))
```
#### Clock resync
Ein regelmäßiges Synchronisieren der syncclock reduziert Zeitunterschiede in Ton/Bild-Sychronität
##### /etc/cron.d/freeswitch_sync_clock
```
*/10 * * * * root /root/freeswitch_sync_clock.sh
```
##### /root/freeswitch_sync_clock.sh
```sh
#!/bin/bash
/opt/freeswitch/bin/fs_cli -x 'fsctl sync_clock_when_idle' > /var/log/freeswitch_sync_clock.log 2>&1
```
## 18. Mai 2020
2.2.11
* Neue Freeswitch Version, weniger Probleme mit älteren Firefox-Versionen
* Hardening, dennoch Systemfirewall nutzen (wie in Doku Customizing beschrieben)
* Bugfixes bzgl. Layout
#### Customize Ports
https://docs.bigbluebutton.org/2.2/customize.html#secure-your-system--restrict-access-to-specific-ports
#### Europäischer Paket- Spiegel:
https://packages-eu.bigbluebutton.org/
#### Nach updates immer dran denken:
bbb-conf --seti-ip <domain>
damit auch apply-config.sh ausgeführt wird.
#### Infos zu anderen Konferenzsystemen
* Zoom: proprietäre SSL-library, mittlerweile bessere Unterstützung des Datenschutzes
* zu Teams https://www.kuketz-blog.de/kommentar-datenschutz-bei-microsoft-teams/ https://twitter.com/MatthiasEberl/status/1262055803965620224
#### Anleitungen zu BBB:
https://www.europa-uni.de/de/struktur/zsfl/institutionen/elearning/materialien/Anleitung_BigBlueButton.pdf
https://fhpcloud.fh-potsdam.de/s/D2kHtgNxFSw82Lg#pdfviewer
https://lehrerfortbildung-bw.de/st_digital/medienwerkstatt/dossiers/bbb/
#### öffentlich nutzbare Server:
* https://pads.ccc.de/bbbliste
* https://treffen.kbu.freifunk.net/ff
#### Große Veranstaltungen
Mehr als 250 Leute => besser asynchron (Videos, OpenCast) Mehrere Kameras aus mehreren Perspektiven zusammenschneiden... Auch um (doch vorkommende) technische Probleme bei Teilnehmern zu reduzieren
* OBS Studio um z.B. BBB Sitzung zu streamen
#### Lösung für große Vorlesungen und Konferenzen inklusive Chatfeedback:
https://github.com/aau-zid/BigBlueButton-liveStreaming/
(serverseitige) Einstellungen: Teilnehmerliiste deaktivieren
Funktion N-letzte Sprecher anzeigen: Feature request, derzeit nicht in Entwicklung
PRs zur Verteilung von Funktionalitäten auf mehrere node.js Prozesse...
https://blog.risingstack.com/nodejs-microservices-scaling-case-study/
https://www.uni-due.de/zim/services/bbb/
https://www.uni-due.de/e-learning/videokonferenzen.php
Greenlight - customizing kommerziell:
-> anderscore.com
#### Firefox Turn Server erzwingen
about:config => media.peerconnection.ice.relay_only
auf true setzen.
#### Monitoring coturn
https://github.com/coturn/coturn/pull/517
#### Freeswitch Clock
https://freeswitch.org/confluence/display/FREESWITCH/Clock
#### Erfahrungen mit/Empfehlungen Headsets/Mikros
* Bluetooth-Probleme
* Einstellung der Samplingrate auf 48.000 hat geholfen
* Plantronics P620-M "Konferenzsystem" lief ~10Tage am Stück problemlos über Bluetooth, empfehlenswert bei gewünschter 360-Grad-Aufnahme https://geizhals.de/plantronics-calisto-p620-m-freisprechanlage-86701-02-a866345.html
* Jabra Speak Tisch-Mikrofon
* Jabra eVolve 65 ca 110€ Headset. Bei Problemen Firmware-Updater verwenden https://www.jabra.com.de/business/speakerphones/jabra-speak-series/jabra-speak-410#/#7410-109
#### OBS
https://obsproject.com/de
## 11. Mai 2020
### Neues:
* Neue Greenlight Version 2.5.6 mit Sicherheitskorrekturen - Achtung: neues Setting SAFE_HOSTS für Greenlight => Domain, unter das System aufrufbar sein soll
* Entwicklung an 2.3 im Gange
* Neue Dokumentation zu Datenschutz: https://docs.bigbluebutton.org/admin/privacy.html
Pad: https://md.daten.reisen/s/B19CTe0KL#
### Feature Wünsche:
* bbb-install.sh direkt "DSGVO konform".
* Drag&Drop von Bildern statt Präsentationsupload
* Grafik-Element auf Whiteboard verschieben
### Unterstützung bei BBB Betrieb
Unterstützung für Schulen wird angeboten von z.B.:
* https://teckids.org/
* https://www.senfcall.de
* https://cyber4edu.org
* https://jitsi.rocks (ja, die machen auch BBB)
* der nächster CCC/Hackerspace/Makerspace
### BBB-Anbieter:
* https://www.hostsharing.net/blog/2020/03/30/bigbluebutton-im-lasttest/
* https://www.open-source-company.de/bigbluebutton-hosting/
* https://www.scaleway.com/en/docs/scaleway-videoconferencing-powered-by-bigbluebutton/
* https://collocall.de/
* https://www.anderscore.com/ - bietet das auch an, wenn ich es richtig verstanden habe, auf Selbstkostenebene
### Infos für Moderatoren und Benutzer
Bitte alle mal in eigenen Organisationen nachfragen, ob CreativeCommons-teilbare Dokumentation zugänglich gemacht werden kann
### Und wieder: Apply-config
Dringende Empfehlung (Daumen hoch!): apply-config.sh (!) Aber Vorsicht: vorher trotzdem mal die configs sichern, insbesondere bigbluebutton.properties /o\
### Ansible
Ansible playbook for a bigbluebutton cluster for multiple schools: https://github.com/stadtulm/a13-ansible
Oder für einzelne Instanzen: https://github.com/n0emis/ansible-role-bigbluebutton
### Bugs und Workarounds
* Kennwort zurücksetzen ist verschwunden???
* TURN Server Problematik:
trotz Freigabe 443 1002er Error
ggf. Konfiguration client firewall
=> "Chromium Browser" als Ansatz?
=> Seite als sichere Seite freigeben
### Log / Auswertung:mcerci
=> API getMeetings Poll / Persistenz
=> /var/log/bigbluebutton/bbb-web.*
=> events.xml
### Ideen / Wünsche für nächstes Mal:
Gäste einladen, z.B.:
* HPI https://schul-cloud.org/
* Baden-Württemberg ?
### Stress-Test https://github.com/bigbluebutton/bigbluebutton/blob/master/labs/stress-testing/bbb-test
## 4. Mai 2020
### Aktuelle Issues
Potentiell aktueller Scalelite-Issue mit 1.0.2 #190
Problem mit 443:
https://github.com/blindsidenetworks/scalelite/issues/190 => Feedback: Property auf true statt enabled setzen(?)
Was ist scalelite? Loadbalancer für BBB, basierend auf Verteilung der Sessions auf die verschiedenen Server:
https://github.com/blindsidenetworks/scalelite
### BBB Versionen Neuerungen:
https://github.com/bigbluebutton/bigbluebutton/releases
* diverse kleinere BugFixes
* Präsentation Upload Fehler werden besser behandelt (Fehlermeldung anstelle kaputte Seite)
* besserer Schutz gegen "Zoombombing" durch bessere Validierung neuer Benutzer und Blockierung zuvor gekickter/gebannter Nutzer
* Private Chats in Breakout Räumen können nun blockiert werden
ScaleLite lässt sich nachträglich installieren, dann müssen Videoaufnahmen noch per Script auf NFS (manuell?) verschoben werden
Als Videoformat kann Konvertierung nach mp4 konfiguriert werden. Ist auch wichtig, damit iOS Nutzer das abspielen können. Zur Reduzierung des Loads beim Konvertieren dann auch webm deaktivieren. Nachts ggf. alle Kerne für Konvertierung nutzen.
Einfachster Weg zur Scalelite-Installation?
### MP4
yq w -i /usr/local/bigbluebutton/core/scripts/presentation.yml video_formats[0] "webm"
yq w -i /usr/local/bigbluebutton/core/scripts/presentation.yml video_formats[1] "mp4"
### Bandbreite
Bandbreitenbedarf bei Screensharing: selbst bei recht statischer Präsentation 0.8Mbit/sec
Bandbreitenreduzierung:
https://docs.bigbluebutton.org/2.2/customize.html#reduce-bandwidth-for-webcams
Frage: Wie lässt sich Bitrate der Kamera für hohe Qualitätsanforderungen erhöhen? Mehr als 1.600 nicht möglich: WebRCT.yaml begrenzt die Rate nochmal
apply-config von Ken L.D.: https://md.daten.reisen/QEP7l_2ESvWKhW7zeuEzRA#
LimitNOFILE ggf. erhöhen, falls keine pdf mehr hochgeladen werden können
DSGVO Vorschläge bitte hier gemeinsam erarbeiten: https://github.com/bigbluebutton/bigbluebutton.github.io/issues/136
### Backup
* bbb selbst -> apply-config.sh (sonst nichts)
* greenlight postgres
* Aufnahmen, falls nicht ohnehin bereits auf redundantem Storage
### Beitragen zu BBB:
* Dokumentation / FAQ: https://github.com/bigbluebutton/bigbluebutton.github.io
### Startseiten von BBB:
* https://bbb.computerwerk.org/b (https://github.com/svoeth/greenlight/)
* https://treffen.kbu.freifunk.net/ff
* https://webconf12.uni-osnabrueck.de/index.html
* https://lecture.senfcall.de (greenlight fork)
* https://public.senfcall.de (bbb-easy-join fork , https://github.com/svoeth/bbb-easy-join)
## 27.4.2020 - BBB-Meeting
Video/Lowendclients/Bandbreite:
* Oben rechts im Hamburgermenü auf Einstellungen, dann Datenvolumeneinsparung: Möglichkeit den Empfang von Videos zu deaktivieren (das schaltet ALLEN Videoempfang bei dem entsprechenden Teilnehmer aus)
* N:1-Videoeinstellung empfehlen. (Videos gehen nur an den Moderator, Teilnehmende sehen sich nicht gegenseitig. Sorgt für _massiv_ weniger Videotraffic)
Eventuell über Locked:Users Videoteilen für TN abschalten (Einstellungen für Moderatoren bei dem Userfeld auf der rechten Seite)
Soundqualität
* Es knackt öfter mal, eventuell in Zusammenhang mit iPads,
* Mit 2.2.6 wurden Parameter geändert die v.a. auf Amazon AWS/Netcup/virtualisierte-Instanzen zu Verbesserungen führen sollten
* Tipp: im Notes vom letzen Mal nach Parametern schauen.
* Unklar ist aber, was wirklich dahinter liegt.
* Unterschiedliches Knacksen bei unterschiedlichen Clients
· * Freeswitch hat evtl. einen Thread pro User/Verbindung, damit können unterschiedliche Encodingprobleme/Knacksen bei unterschiedlichen Clients auftauchen
· * beim Client die CPU Auslastung beachten
· * GPU abschalten - könnte Probleme erhöhen
* Ursache höchst wahrscheinlich im Freeswitch
* Reproduktion schwierig.
* Möglichst saubere Browser (Tabs schließen)
zu 2.2.6
* Unbedingt empfehlenswert wg. security fixes
Pull Requests:
* NodeJS in Teile zerlegen: https://github.com/bigbluebutton/bigbluebutton/pull/8788
DSGVO setup dokumentieren
* Aufzeichnungen komplett deaktivieren: In /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
disableRecordingDefault=true
allowStartStopRecording=false
* https://blindsidenetworks.com/gdpr/
* Aufzeichnungs-Knopf Tooltip umbennen auf "Es wird aufgezeichnet". https://github.com/bigbluebutton/bigbluebutton/issues/9202
* Logging deaktivieren in
-
* greenlight: links zu Impressum / PrivacyPolicy: https://github.com/bigbluebutton/greenlight/pull/1411
* schnelleres Löschen : ..
Idee von Github: https://github.com/bigbluebutton/bigbluebutton/issues/9202#issuecomment-617847867
Monitoring
* Ken stellt Grafana Lösung vor. 13 Server, Metriken: Anzahl Räumen, Participants, biges room
* prometheus-bbb-exporter, Go code https://github.com/baltuonis/prometheus-bigbluebutton-exporter compilier, als Binary auf nodes gepackt, prometheus-nodes-exporter, firewall anpassen,
* https://github.com/greenstatic/bigbluebutton-exporter
Einfaches (hässliches ;-) Monitoring
EInfaches bash script um 3 einfache metrics von einer EC2 auf Cloudwatch metrics hoch zu laden
```
secretdata=`bbb-conf --secret`
secret=`echo "$secretdata" | grep "Secret:" | cut -d':' -f 2 | sed 's/^ *//g' | sed 's/ *$//g'`
url=`echo "$secretdata" | grep "URL:" | cut -d':' -f 3 | sed 's/^ *//g' | sed 's/ *$//g'`
ccc=( `echo -n "getMeetings$secret" | sha1sum` )
# echo "secret" $secret "url:" $url "ccc" $ccc
uri="https:$url/api/getMeetings?checksum=$ccc"
# echo $uri
data=`curl "$uri"`
# echo "API response" $data
mnum=`echo $data | grep -o "<meeting>" | wc -l`
pnum=`echo $data | grep -o "<attendee>" | wc -l`
vnum=`echo $data | grep -o "<hasVideo>true</hasVideo>" | wc -l`
echo "Meetings:" $mnum
echo "Participants:" $pnum
echo "Participants Video:" $vnum
/usr/local/bin/aws cloudwatch put-metric-data --metric-name num_meetings --unit Count --dimensions Instance=$EC2_INSTANCE_ID --namespace "Custom" --value $mnum
/usr/local/bin/aws cloudwatch put-metric-data --metric-name num_participants --unit Count --dimensions Instance=$EC2_INSTANCE_ID --namespace "Custom" --value $pnum
/usr/local/bin/aws cloudwatch put-metric-data --metric-name num_participants_with_video --unit Count --dimensions Instance=$EC2_INSTANCE_ID --namespace "Custom" --value $vnum
* Vor upgrades config sichern oder besser von vornherein in apply-config.sh setzen
https://docs.bigbluebutton.org/2.2/customize.html#automatically-apply-configuration-changes-on-restart
```
* Alternativ: Geänderte configs mit git versionieren
** git init im Hauptverzeichnis
** Mit git add alte configs sichern, die sich geändert haben
** Git commit nach dem Ändern der Config
** Etwas ausgereifter: Etckeeper Infrastruktur nutzen: https://etckeeper.branchable.com/
** Post-Exit-Hook in der bash einrichten - d.h. automatisches add / commit aller Dateien, die sich geändert haben.
* Bare Metal oder VM
VM sind generell in Ordnung, aber es sollten die realen Kerne und RAM abgebildet werden und nicht überbucht werden. Virtuelle Kerne/Ram lassen die Performance mind. für den überbuchten Teile einbrechen.
TURN-Server
* Braucht es einen eigenen Server für TURN?
* subdomain erscheint sinnvoller
* https://github.com/stadtulm/ansible-role-bigbluebutton/commit/956f3738722526fd44ab5916187e23bcda6070e5#diff-d76e14794c0dbc3df454b28a28583ed8
* Hetzner Peering is doch doof zu Telekom
seit dem 1. März gilt die Aussage so nicht mehr : https://www.hetzner.de/news/03-20-dtag/bzw. https://www.hetzner.de/unternehmen/rechenzentrum/
* Tipps an ModeratorInnen
** Videos für alle Teilnehmer blockieren
** WebCam teilen nur für Moderator/Präsentator : Eventuell über Locked:Users Videoteilen für TN abschalten (Einstellungen für Moderatoren bei dem Userfeld auf der rechten Seite)
Matrix:
https://matrix.to/#/#bigbluebutton-de:matrix.org
# Altes Cryptpad
https://cryptpad.fr/pad/#/2/pad/edit/8HpuvATkdycICy7AQZyTpYPr/
BigBlueButton-Adopters
Habe unten in grün noch Punkte ergänzt ;-)
Montag, 30. November 2020 - 15-16 Uhr
Agenda
Community-News
2.2.30
https://github.com/bigbluebutton/bigbluebutton/releases/tag/v2.2.30
Bugfixes
Wichtige, aktuelle Probleme
Remote-Code-Execution bei Telefonnummern-Hack (Lars)
Weitere Entwicklung
Selber entwickeln
Aufträge vergeben
Feature-Wünsche
Was ist bereits in Entwicklung?
Grobe Idee oder konkret in Planung?
Gibt es gemeinsame Interessen?
Weiterentwicklung
To-do: Folgende Liste durchgehen und ein wenig strukturieren
Lastverteilung zwischen BBB-Knoten basierend auf Parametern wie z.B. der erwarteten Teilnehmerzahl, nicht nur auf Basis von Anzahl von Konferenzen pro Knoten
Da gab es Ideen, die jedoch bisher nicht in die offizielle Version eingeflossen sind. Voraussichtliche Teilnehmerzahl müsste z.B. per META-Info übergeben und im Scalelite ausgewertet werden!? Offenes Problem bei Load-Berechnung anhand von "Lastparametern" wie Meetings, Voice, Video war das Placement von gleichzeitig startenden Meetings. -CM
Das Frontend (LMS) hat mehr Information (Zeitpunkte der Meetings, erwartete Teilnehmerzahl) und könnte entsprechend das Load-Balancing effizienter umsetzen. In OpenOLAT ist das z.B. implementiert.
https://github.com/blindsidenetworks/scalelite/issues/99
https://github.com/bigbluebutton/greenlight/issues/1350
Interessenten: Uni Hildesheim, TU Clausthal, HS Hannover
Lastverteilung von z.B. Video über mehrere Server?
Interesse: TU Clausthal
https://docs.bigbluebutton.org/2.2/customize.html#run-three-parallel-kurento-media-servers
Selbstansicht ausblenden
Interesse: TU Clausthal
Wahlweise Platzhalter einblenden, falls kein Video verfügbar, um die Sichtbarkeit zu erhöhen. Eventuell Standbild oder eine Art "Profilbild". Ansonsten nur Text im Videorahmen.
Interesse: TU Clausthal
Direktes Streaming einer Veranstaltung (bereits Verfügbar als Paid Feature bei einem Cloud-Anbieter elos.vc / mconf.com https://github.com/bigbluebutton/bigbluebutton/issues/8295)
https://github.com/aau-zid/BigBlueButton-liveStreaming
Interessiert: Uni Osnabrück, Uni Hildesheim, Uni Innsbruck, HU Berlin
Streaming per WebRTC: Kontakt mailto:schrd@linux-tage.de
Export von Aufnahmen
Export als eine portable MP4-Datei, die Video- und Präsentationsteil enthält.
https://github.com/tilmanmoser/bbb-video-download ?
Export zu Opencast (Verarbeitung dort) (src)
https://gitlab.rlp.net/rzht-public/3b-download
Automatische sprecherbezogene Steuerung der Videogröße inkl. dynamischer Anpassung der Auflösung/Framerate/Bitrate (d.h. aktueller Sprecher groß/hohe Qualität, Zuhörer klein/geringe Qualität). Kamera-Profile zwischen denen automatisch gewechselt wird.
Ist in Entwicklung durch Paolo (plazarin auf Github?)
Besseres Verhalten bei hoher Serverbelastung - z.B. Regulierung der Webcam Qualität basierend auf Serverauslastung bis hin zum - ggf. Abschalten von Webcam
Die meisten Probleme entstehen durch überlastete Clientes. Da muss man eher ansetzen.
Ja, aber bei uns gibt es leider auch überlastete Server - wenn zu viele (zu große) Sitzungen auf einem Server landen (s.o.)
Audio sollte über dem Videostream priorisiert werden
Nachtrag: Audio wird auf dem Server bereits über Video priorisiert. Damit das auch für Listen-only Teilnehmer funktioniert muss das drei-geteilte-Kurento Script ausgeführt werden. Dadurch werden Bildschirmfreigabe, Listen-only-Zuhörer und Webcams auf drei Prozesse aufgeteilt, welche mittels Linux nice priorisiert werden können.
Um überlastete Clients zu vermeiden/reduzieren: video-pagination einschalten. z.B. mit Desktop: 15 und Mobil: 5, sowie bei großen Verannstaltungen
die Teilnehmerliste auf nur-Moderatoren-Anzeige stellen und den Chatverlauf ab
und zu leeren wenn viel geschrieben wurde.
Limitierung der max. Anzahl der Webcams pro Sitzung in Abhängigkeit von der Teilnehmerzahl - Bsp: nur 1 Webcam bei > 150 Teilnehmern => Fehlbedienungen im Vorfeld vermeiden, welche zu Überlast führen
Man kann doch jetzt schon Webcams von Teilnehmern verbieten.
Ja, aber einige Moderatoren verstehen das 'gesperrt' nicht und entsperren alle. Die Limitierung sollte vom Admin eingestellt werden können, ohne dass Moderatoren das überschreiben / ausschalten können
Das müsste wohl im Frontend (Moodle?) implementiert werden. In OpenOLAT lassen sich Raumvorlagen definieren. In Stud.IP auch.
Statusmeldung/Warnung an Endbenutzer zur Verbindungsqualität (vgl. Balken bei Zoom)
Optimierung CPU-Belastung (end systeme) bei vielen Webcams => da ist der zoom-client weniger Ressourcen-hungrig (wenn auch nicht der zoom-webclient) - vermutlich generelles WebRTC Problem?
Das scheint auch an den Codecs zu liegen; H.264 wird meist in HW decoded.
Nachtrag: webcam pagination aktivieren sowie Videobitrate halbieren ggü. default, sowie "Niedrig" als Standardauswahl festlegen.
Andere Codecs? VP9 / H.264?
Für Aufzeichnung bereits konfigurierbar
Nachtrag: VP9 und h.264 sind wesentlich CPU-hungriger auf Clients ohne Hardwarebeschleunigung
Optimierung Bandbreitenbedarf für Screensharing => 1-2Mbps ist für Home-Office zu viel (16 Mbps DSL: max. 1Mbps im uplink)
Einstellungen in settings.yml
Weitere Layout-Optionen (Präsentation/Video links/recht oder Präsentation mit Bild-im-Bild, vgl. Layouts bei Zoom)
Optional Steuerung des Layouts bei den Teilnehmern durch Moderator (Whiteboard/Chat/Notizen/Sprache/Teilnehmerliste ein/ausblenden) (Issue)
Whiteboardfunktionalitäten erweitern
Bilder einfügen,
Moderationskarten (vgl. Flinga-Board, miro.com, ... )
Export als .pdf (siehe Punkt 21)
Speichermöglichkeit zur Folgebearbeitung bei späterem Termin
meetzi verwendet Jitsi Meet mit integriertem Whiteboard
Pollfunktionalitäten
Anonymisierte Umfrage (auch für den Moderator nicht sichtbar)
weitere Fragetypen
Schnittstelle zu Videokonferenz-Anlagen (H.323-Gateway)
hat hier schon jemand was?
Teilnehmerliste nur für Moderator sichtbar ✅
gibt es schon. Lock Viewers -> See other viewers in the Users list
Ton auch für Desktop-Audio (Issue?)
Konfiguration in settings.yml?
Pullrequest ist schon irgendwo
Nachtrag: Wird von den meisten Webbrowsers noch nicht unterstützt -> Issues bei den Browserherstellern anlegen?
Slides mit Annotationen als Download (issue)
Audio-/Videodateien hochladen und abspielen (issue)
Wiedergabe von Videos von hochschuleigenen Video-Servern (z.B. auf Basis JW-Player/HLS oder Opencast/Paella-Playe)r
https://example.com/...mp4 kann bereits jetzt angegeben werden
der integrierte Player folgt aktuell keiner Weiterleitung (nötig zB für Dateien in Seafile) (Issue)
Es tut auch https://.../xy#.mp4
Geht aber nur mit progressiv Download, nicht mit Streamingserver (HLS-Protokoll)
Interesse an Einbettung des Opencast-Players
Aufzeichnungen: Aufbewahrungsfristen, Scheduling des Rederings (mittels systemd-timer vs. cronjob) und Absicherung der Links (Greenlight/Scalelite/Moodle)
Kleinere geplante Erweiterungen (ELAN/UOS)
https://data.lkiesow.io/bbb/bigbluebutton-development.pdf
Sehr gute Detailverbesserungen! -HUK
Bessere Verwaltung von (vielen) Breakout-Räumen
kein Echo-Test beim wechseln zwischen den Räumen (issue1, issue2)
Chatnachrichten an alle Breakout-Räume
Möglichkeit für Teilnehmer_innen in B-Räumen, eine_n Moderator_in zu kontaktieren (issue)
Gleiche Gruppenaufteilung bei mehreren Breakout-Sessions innerhalb eines Meetings
Rückkehr in gleiche Breakout Räume ermöglichen
Breakout - geteilte Notizen und Whiteboard im Hauptraum verfügbar machen (siehe Adobe Connect)
Desktop Notifications um während einer Vollbild-Präsentation über wichtige Dinge informiert zu werden. (raised hand, chat message) (issue)
Besserer/Einfacherer Auswahldialog für Audio-/Videodevices. (issue)
Moderatoren und Präsentatoren von cameraQualityThresholds ausnehmen.
Protokoll:
in die sources-list feste release Nummer eintragen:
#deb https://ubuntu.bigbluebutton.org/xenial-220-2.2.26 bigbluebutton-xenial main