Multiroom Audio

From Chaosdorf Wiki
Revision as of 16:44, 8 June 2023 by Cyaniccerulean (talk | contribs) (basic documentation for snapcast)

Im Dorf gibt es aktuell ein rudimentäres Multiroom Audio System, aufgebaut auf Snapcast. Ich hatte noch nicht genug Zeit um alle In- & Output einzubauen, deshalb aktuell noch "beta".


Multiroom Audio beta
5968845.png
Multiroom Audio mit Snapcast im Dorf
Ort Neues Dorf
Beteiligt cyaniccerulean
Quelltext https://github.com/badaix/snapcast


Musik rein

Generisch

Der Snapserver stellt 4 TCP-Ports und server.snapcast.chaosdorf.space zu Verfügung. An Port 4951, 4952, 4953 und 4954 (auch so im Webinterface benannt, siehe unten) kann jemensch PCM-Audiopakete (48kHz, 16 Bit, Stereo) schicken.

Linux

Linux kann Audio direkt per Loopback Souddevice an den Snapserver schicken (siehe Abschnitt Generisch). Das klappt z.B. mit ffmpeg oder pw-cat. Mehr Infos folgen.

Windows

macOS, iOS

Für macOS und iOS ist AirPlay aktuell geplant, da muss aber noch dran gebastelt werden.

Android

Für Android ist Chromecast geplant.

Musik raus

Aktuell stehen

Infrastruktur

Playback

Der Snapcast-Server im Kubernetes-Cluster stellt vier verschiedene TCP-Endpoints zur Verfuegung, an die einfach PCM-Samples geschickt werden koennen. Die Adressen lauten `10.8.0.1:4591`, `10.8.0.1:4592`, `10.8.0.1:4593`, `10.8.0.1:4594` und lassen sich bei bedarf diesem Helm-Chart entnehmen.

Ob das funktioniert, laesst sich z.B. mit Netcat einfach testen (sollte auf dem Snapclient in der Lounge rauschen):

nc 10.8.0.1 4951 < /dev/urandom