Hybridaudio

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Sprache: Deutsch
Subpages:
Hybridaudio hat keine Unterseiten.



Hybridaudio
No-Logo.png
Gestartet: 2022-10-25
Involvierte: User:anlumo User:ripper
Status: active
Beschreibung: Bringing the online to the offline. Bringing the offline to the online.
Shutdownprozedur:
Zuletzt aktualisiert: 2022-10-25


Hybridaudio

Wir wollen im Hauptraum Meetings (wie das Jour Fixe) machen können, die auch online gestreamt werden können, und Leute online sich auch einschalten können und zB. Fragen stellen können.

In 2022-10-25_Jour_Fixe wurde ein Budget für die Hardware beschlossen.

Hardware

Ein bliebiger PC mit einem beliebigen Audiointerface und Internetverbindung. Gesteuert soll er dann über eine Webseite werden, d.h. da ist kein weiteres Interface vorhanden.

Software

Hier wird es schwierig. Bisher haben wir für Meetings BigBlueButton (BBB) verwendet. Leider ist diese Software mit nichts außer seinem eigenen Webclient kompatibel, und der ist für eine headless-Steuerung mehr als ungeeignet.

Es gibt noch keine gute Lösung, aber hier sammeln wir mal Ideen:

BBB Client in Flutter (zeigt das Protokoll sehr schön!). Diese App ist aber headless nicht verwendbar, und die Dart-Packages, die verwendet werden (sip_ua und flutter_webrtc) funktionieren beide noch nicht auf Linux. Daher kann die Software nicht direkt verwendet werden, allerdings kann sie als Beispielimplementation für das Protokoll herhalten.

Das Protokoll scheint SIP-over-Websocket für das Signalling zu verwenden, und dann WebRTC für die eigentliche Voice/Video-Kommunikation.

Auf der Rust-Seite gibt es ein paar Tools:

  • Für Websockets gibts eine Menge an Implementationen, zB tungstenite-rs.
  • EZK ist eine Sammlung an Tools für die Implementation von SIP-Clients
  • WebRTC.rs ist eine ziemlich große WebRTC-Implementation

Fertige Lösungen

Die sind alle eher Wäh:

  • BBB Live Streaming verwendet Selenium, um den Webclient fernzusteuern
  • Datacop schlägt vor, ein Android-Tablet an das Audiointerface zu hängen und mit gepinntem Browser auf der bbb-Seite das an die Wand zu kleben.

Alternative für Software

Eine andere Lösung wäre, auf Jitsi umzustellen. Jitsi verwendet XMPP-over-BOSH-over-HTTP Push als Signalling und ist gut dokumentiert.

  • gst-meet ist eine Jitsi-Implementation in Rust. Verwendet gstreamer für Audio und Video, das sollte sich ziemlich leicht integrieren lassen.