4292 views
# 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 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\&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 # 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