PulseAudio ist ein mächtiger Soundserver und Sonos bietet tolle WLAN Boxen. Mit ein paar Tricks kann man über PulseAudio auch die Sonos Boxen ansteuern.

Die Linux-Community ist manchmal einfach toll. Da klage ich ein wenig über Grenzen und Schwierigkeiten bei der Migration und sofort bekomme ich E-Mails mit hilfreichen Tipps. Die Lösung liegt manchmal so nahe.

Kleiner Hinweis vorweg. Man kann Sonos Boxen auch mit Noson ansteuern, aber ich mag diese dezidierten Apps nicht, sondern möchte die von mir präferierten Programme für das Abspielen nutzen.

Das kann man mit PulseAudio erreichen. Ein kleines Kommentar kann ich mir nicht verkneifen: Was haben damals die Ewiggestrigen gegen PulseAudio gegiftet. Braucht niemand, nicht ausgereift. Aus heutiger Sicht war das ein Vorgeschmack auf jenes, was danach mit systemd & Co kam. Heute gehört es zum festen Bestandteil jeder ernst zu nehmenden Distribution und wird sukzessive durch die weiter entwickelte Lösung pipewire abgelöst. Mal gucken, wann sich da der Hass der „Unix-Wutbürger“ entlädt.

Zurück zum Thema. Es gibt grundsätzlich wohl die Möglichkeit, mit PulseAudio auch Airplay 2 anzusteuern, ich konnte diese Lösung aber nicht zum Laufen bekommen. Die Boxen waren zwar sichtbar, aber blieben stumm. Eine weitere Möglichkeit besteht in der Nutzung von DLNA. Sonos unterstützt diesen Standard nicht offiziell, aber die Boxen können darüber angesteuert werden.

PulseAudio-DLNA installieren und einrichten

PulseAudio-DLNA ist eine Erweiterung, die leider nicht bei allen Distributionen zum Standardbaukasten gehört. Bei Ubuntu ist es für 18.04 noch in den Paketquellen, bei Debian steht es für alle Ausgaben zur Verfügung. Arch-Nutzer müssen leider zum AUR greifen und openSUSE-Anwender zum OBS.

Ist das entsprechende Paket installiert, ist es mit Benutzerrechten in der Konsole zu starten. Sollte eine Firewall wie ufw oder firewalld aktiviert sein, so muss man diese vorher deaktivieren. Ich konnte keine Portfreigabe ermitteln, die über die Session hinaus gültig und funktionsfähig bleibt.

$ pulseaudio-dlna

Danach läuft eine lange Ausgabe durch, in der man sieht, wann die Boxen erkannt werden.

[gerrit@GH-Elite ~]$ pulseaudio-dlna  
02-17 19:42:42 pulseaudio_dlna.application                    INFO     Using version: 0.6.0 
02-17 19:42:42 pulseaudio_dlna.application                    INFO     Binding to *:8080 
02-17 19:42:42 pulseaudio_dlna.application                    INFO     Encoder settings: 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvAacEncoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvFlacEncoder available="False"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvL16Encoder available="False" sample-rate="44100" channels="2"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvMp3Encoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvOggEncoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvOpusEncoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AVConvWavEncoder available="False"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegAacEncoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegFlacEncoder available="True"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegL16Encoder available="True" sample-rate="44100" channels="2"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegMp3Encoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegOggEncoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegOpusEncoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FFMpegWavEncoder available="True"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FaacAacEncoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FlacFlacEncoder available="True"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <LameMp3Encoder available="True" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <NullEncoder available="True"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <OggencOggEncoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <OpusencOpusEncoder available="False" bit-rate="192"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <SoxL16Encoder available="False" sample-rate="44100" channels="2"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <SoxWavEncoder available="False"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO     Codec settings: 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="1" mime_type="audio/L16" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav" backend="generic"> 
02-17 19:42:42 pulseaudio_dlna.plugins.chromecast             INFO     ChromecastPlugin.discover() 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Module "module-dbus-protocol" already loaded. 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Probing for $PULSE_DBUS_SERVER unsuccessful. 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Probing for /run/pulse/dbus-socket unsuccessful. 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Probing for $XDG_RUNTIME_DIR successful (unix:path=/run/user/1000/pulse/dbus-socket). 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Probing for org.PulseAudio.ServerLookup1 successful (unix:path=/run/user/1000/pulse/dbus-soc
ket). 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Found the following pulseaudio server addresses: unix:path=/run/user/1000/pulse/dbus-socket 
02-17 19:42:42 pulseaudio_dlna.pulseaudio                     INFO     Connecting to pulseaudio on "unix:path=/run/user/1000/pulse/dbus-socket" ... 
02-17 19:42:43 pulseaudio_dlna.pulseaudio                     INFO     Added the device "Küche - Sonos One SL Media Renderer (DLNA)".
 

Ganz unten sieht man wie mein Sonos ONE SL in der Küche erkannt wird. Diesen kann ich nun im Plasma Audioapplet als Ziel auswählen.

Danach kann ich mit einem beliebigen Programm wie Elisa Musik abspielen. Zu beachten ist die erhebliche Latenz, weshalb die Methode nur für Musik oder Podcasts funktioniert.

Das ist kein gleichwertiger Ersatz für Airplay aber definitiv viel besser als alle anderen getesten Lösungen.

Gerrit
Moin, meine Name ist Gerrit und ich betreibe diesen Blog seit 2014. Der Schutz der digitalen Identität, die einen immer größeren Raum unseres Ichs einnimmt ist mir ein Herzensanliegen, das ich versuche tagtäglich im Spannungsfeld digitaler Teilhabe und Sicherheit umzusetzen. Die Tipps, Anleitungen, Kommentare und Gedanken hier entspringen den alltäglichen Erfahrungen.

4 Ergänzungen

  1. Wirklich toll!
    Ich habe sowas mal gesucht. aber für 20.10 nichts gefunden. Ich muss dem gleich nochmal auf den Grund gehen, ich denke aber, dass dieses pulsaudio-DLNA wohl das Projekt ist, das ich entdeckt habe aber seit ewigkeiten nichtmehr weiterentwickelt wurde.

      • @Gerrit, Ich verwende nicht gerne Tools die so lange keine Updates mehr erlebt haben. Besonders nicht wenn sie auch noch am Netzwerk hängen.

        So gern ich das selber umsetzen würde, ich verzichteaber wohl drauf.

        • Die Software ist bei Debian in den Paketquellen. Wenn das den dortigen Standards entspricht habe ich keine Problem damit es zu nutzen. Ich kann und möchte ja nicht bei jeder Software gucken, wann die das letzte Mal aktiv entwickelt wurde. Das könnte in weiten Teilen des Systems erschreckend sein.

Schreiben Sie eine Ergänzung

Ergänzungen dienen der Diskussion über die Inhalte des Artikels. Nachfragen, Anmerkungen und Ergänzungen sind dezidiert erwünscht. Kommentare werden vor der Veröffentlichung moderiert. Wir behalten uns vor Kommentare ohne inhaltlichen Bezug oder abseitige Diskussionen nicht zu veröffentlichen.

Bitte geben Sie Ihre Ergänzung ein!
Bitte geben Sie hier Ihren Namen ein