Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.
Version vom 5. März 2026, 02:13 Uhr von Aylen (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Mopidy == Mopidy (WebUI Link siehe Dashboard) läuft in einem Docker-Container auf mopidy.nerdberg.de. Mopidy gibt seinen audio output per TCP auf einen pipewire server, der lokal auf dem Host (außerhalb des Containers) läuft. Von dort wird das Audio vom Snapcast Server per TCP abgeholt (der Server ist ein TCP-Client vom Pipewire) und verbreitet. === Snapcast Client === Host: mopidy.nerdberg.de Stream-Port: 1704 Control-Port: 1705 === Eigene…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mopidy

Mopidy (WebUI Link siehe Dashboard) läuft in einem Docker-Container auf mopidy.nerdberg.de. Mopidy gibt seinen audio output per TCP auf einen pipewire server, der lokal auf dem Host (außerhalb des Containers) läuft. Von dort wird das Audio vom Snapcast Server per TCP abgeholt (der Server ist ein TCP-Client vom Pipewire) und verbreitet.

Snapcast Client

Host: mopidy.nerdberg.de Stream-Port: 1704 Control-Port: 1705

Eigenes Audio einspeisen

Der Pipewire auf mopidy.nerdberg.de lässt eingehende (Port 4710) und ausgehende (Port 4711) TCP-Verbindungen zu. Dazu wird das Protocol Simple-Modul verwendet.

Um eigenes Audio einzuspeisen:

# ~/.config/pipewire/pipewire.conf.d/nerdberg.conf
context.modules = [
 {   name = libpipewire-module-protocol-simple
     args = {
         # Provide sink
         capture = true
         audio.rate = 48000
         audio.format = S16
         audio.channels = 2
         audio.position = [ FL FR ]
    	 node.name = "Nerdberg"
         # The addresses this server listens on for new
         # client connections
         server.address = [
             "tcp:127.0.0.1:4711"
         ]
         capture.props = {
             # Make this a sink instead of a capture stream
             media.class = Audio/Sink
         }
     }
 }
]
# ~/.config/systemd/user/nerdberg-audiosink.service
[Unit]
Description=Nerdberg PipeWire Output

[Service]
ExecStart=/bin/bash -c 'nc localhost 4711 | nc mopidy.nerdberg.de 4710'
systemctl --user restart pipewire
systemctl --user start nerdberg-audiosink