1110 views
# BBB Meetup (deutschsprachig) * in BBB : https://meet.systect.de/b/hol-jn7-4yr * **NEU: doch wieder 2-wöchiger Turnus**, nächstes Mal Montag, 07.10.2020 21:00 bis etwa 22:30) * Moderatoren: Holger Bruch (Initiator, freiberuflicher Berater http://systect.de / Systemanalyse und IT-Beratung), basisbit (BBB Contributer) * 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 ## Links zu BBB-Sessions/Youtube-Streams der Moodle Moot Global 2020 mit Jesus Frederico & Fred Dixon * Event: https://events.moodle.com/blocks/mootprogram/schedule.php * Jesus Frederico - BBB/Adding Virtual Classes to Moodle using BigBlueButton (6.7.2020): https://youtu.be/vtcgYjbRYSU?t=26680 * Fred Dixon - BigBlueButton Road Map for 2020 (9.7.2020): https://youtu.be/p656t6ASSqI?t=22918 ## 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 * 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\&uuml;r Teilnehmende<\/u><\/a>. Weitere Informationen f\&uuml;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