LG Soundbar Airplay-fähig machen mit AirConnect
Ich habe mal wieder auf GitHub gestöbert und bin auf ein super interessantes Projekt gestoßen: AirConnect (Link zum Projekt). Auf die Idee bin ich gekommen da ich mir vor kurzem eine LG-Soundbar (SJ6) für meinen LG-4K-Fernseher gekauft habe und diese "nur" über Chromecast verfügt. Soundbars mit Airplay kosten mal gut das dreifache und wie ich in letzter Zeit leider schmerzlich feststellen musste funktioniert die von den meisten Herstellern versprochene AirPlay Funktion eher schlecht als recht. Ich benutze fast ausschließlich Apple Geräte, sodass es hier mit Chromecast eher mager aussieht. Allerdings habe ich selbst an meinem Android-Tablet keinen Musikstream von verschiedenen Audioquellen zum laufen gebracht. Es mag an mir, am Tablet oder an der Soundbar liegen - egal: die Lösung ist AirConnect.
Natürlich könnte man sich einen Raspberry Pi Zero mit Max2Play an die Soundbar hängen und hätte somit auch Airplay (oder jede andere Airplay-Linux Lösung). Der Vorteil an AirConnect ist aber ganz klar:
- weniger Verkabelungsaufwand
- weniger Stromverbrauch wenn eh schon ein Server/Raspberry im Haus läuft
- wenn AirPlay gestartet wird schaltet sich die Soundbar automatisch an
- die Lautstärkeregelung funktioniert über das AirPlay-Abspielgerät (z.B. iPhone) -> keine Fernbedienung notwendig
- das Display der Soundbar zeigt die verstrichene Zeit des Songs an
Inhalt
- AirConnect
- AirCast
- Installation auf Linux (z.B.Ubuntu 16 LTS)
- Installation auf einem Raspberry Pi
- Erster Start und erzeugen einer Konfigurationsdatei
- Konfigurationsdatei bearbeiten
- Autostart für AirConnect (Linux, Ubuntu)
- Autostart für AirConnect (Raspberry Pi)
- Fazit
AirConnect
AirConnect kann auf Windows, Mac und Linux installiert werden. Auch an den Raspberry wurde gedacht. Die Software fungiert hier als Gateway zwischen dem Airplay-Abspielgerät und dem Chromecast fähigen Gerät.
In AirConnect kannst du den Namen wählen, den du auf deinen AirPlay Abspielgeräten angezeigt bekommst. Außerdem kannst du das Tonformat bestimmen und eine maximale Lautstärke eintragen.
Nebeninfo: Mit AirConnect kannst du auch deine Sonos Lautsprecher Airplay fähig machen. Da Sonos aber ein Update mit Airplay 2 Support für 2018 plant schauen wir uns diese Lösung aber nicht genauer an - auch wenn es funktioniert (konnte es bei den Sonos Lautsprecher meiner Eltern testen: es funktioniert gut und sehr schnell)
AirCast & AirUPnP
Es existieren 2 verschiedene Versionen:
- AirCast für Chromecast Geräte,
- AirUPnP für UPnP und Sonos Geräte.
Obwohl meine Soundbar von LG Chromecast fähig ist, habe ich das ganze nicht zum Laufen bekommen. AirUPnP hat allerdings bestens funktioniert. Probier es einfach aus was für dich am besten funktioniert. Die verschiedenen Version findest du auf der GitHub Seite im Ordner "bin".
Installation auf Linux (z.B. Ubuntu 16 LTS)
Wir loggen uns über SSH auf unser Betriebssystem ein. Zuerst erstellen wir uns einen Ordner für das Paket.
mkdir airconnect
cd airconnect
Danach laden wir die benötigten Pakete aus dem Git herunter
wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-x86-64
Verwendest du ein anderes Betriebssystem so schaue im Ordner bin nach dem richtigen Installationsfile. Die Version airupnp-x86-64 funktioniert perfekt für Ubuntu 16.04.
Jetzt machen wir die heruntergeladene Datei ausführbar:
chmod +x airupnp-x86-64
Fertig! Schaue weiter zum Punkt "Erster Start und erzeugen einer Konfigurationsdatei".
Installation auf einem Raspberry Pi
Beim Raspberry braucht ihr die arm-version von AirConnect. Logge dich über SSH auf den Raspi und erstelle ein neues Verzeichnis:
mkdir airconnect
cd airconnect
Das ARM-Paket lädst du mit folgendem Befehl herunter
wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-arm
Die Datei muss noch ausführbar gemacht werden
chmod +x airupnp-arm
Zusätzlich brauchst du beim Rasperry (Debian Stretch) Open SSL 1.0.0. Die kannst du ganz einfach mit folgenden Befehlen installieren:
wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb
Fertig. Weiter gehts mit dem nächsten Punkt "Erster Start und erzeugen einer Konfigurationsdatein"
Erster Start und erzeugen einer Konfigurationsdatei
Zum starten führst du die heruntergeladene Datei aus
./airupnp-x86-64 -I
bzw. beim Raspberry:
./airupnp-arm -I
das flag "-I" erzeugt beim starten automatisch ein Konfigurationsfile namens "config.xml". Das ganze sollte beim ersten Start in etwa so aussehen:
Beim nächsten Start kannst du das "-I" flag einfach weglassen, also nur noch "./airupnp-x86-64" oder "./airupnp-arm" ausführen.
Du kannst jetzt mal gucken ob dein Apple-Gerät neue AirPlay-Devices findet.
Falls ja kannst du AirConnect wieder schließen. Hierfür in der Console
exit
eingeben.
Konfigurationsdatei bearbeiten
Weiter geht es indem wir uns die Konfigurationsdatei anschauen und bearbeiten.
sudo nano config.xml
Das ganze sieht bei mir so aus:
Wie du siehst wurden bei mir 4 Geräte gefunden. Sogar der Samsung TV kann angesteuert werden, sowie 2 Sonos Geräte. Bei dir wird die Datei ein weniger anders aussehen. Ich habe folgende Änderungen vorgenommen
- <name> gibt den Namen an, mit dem dir die Geräte in AirPlay angezeigt werden.
- <max_volume> steht standardmäßig auf 100, bei mir reicht 30 aus
- <codec> musste ich von "flac" zu "pcm" ändern, da ich sonst keine Tonausgabe hatte. Für Sonos kannst du "flac" stehen lassen. Es gibt ebenfalls "wav" als Option, wobei immer flac zu bevorzugen ist da es die beste Qualität bedeutet aber auch mehr Prozessorauslastung generiert.
- <enabled> gibt es mehrfach. Einmal ganz oben: Hier wird festgelegt ob neu gefundene Gerät automatisch hinzugefügt werden sollen. Das "enabled" bei jedem Gerät kann die einzelnen Geräte aktivieren/deaktivieren. Ich habe alle Geräte außer die Soundbar deaktiviert da diese Konfiguration nur für die Soundbar funktioniert. Für Sonos brauchst du, wie oben schon erwähnt, den codec flac und eine andere latency Einstellung (1000:2000).
Die Datei passt du deinen Geräten an. Ich musste ein wenig herumexperimentieren bis alles geklappt hat. Anschließend speichern und dann AirConnect erneut starten:
./airupnp-x86-64 -z
bzw. beim Raspberry:
./airupnp-arm -z
Die "-z" Option lässt AirConnect im Hintergrund ausführen. Somit läuft der Server und wir können uns von der SSH-Console abmelden. Ich würde empfehlen deine Einstellungen mal ein paar Tage zu testen - wenn alles funktioniert kannst du dann noch den Autostart für AirConnect aktivieren.
Autostart für AirConnect (Linux, Ubuntu)
Für den Autostart legst du dir einen Systemd Service an:
cd /etc/systemd/system/
sudo nano airconnect.service
und mit folgedem Inhalt füllen
[Unit] Description=AirUPnP bridge After=network-online.target Wants=network-online.target [Service] Type=forking ExecStart=/home/USER/airconnect/airupnp-x86-64 -z -x /home/USER/airconnect/config.xml Restart=on-failure RestartSec=30 [Install] WantedBy=multi-user.target
Wichtig: Trage anstatt USER deinen Benutzername ein.
den Service aktiveren:
systemctl enable airconnect.service
den Service starten:
sudo service airconnect start
um den Service irgendwann zu stoppen
sudo service airconnect stop
Autostart für AirConnect (Raspberry Pi)
Auch beim Rasperry funktioniert der Autostart über einen Systemd Service:
cd /etc/systemd/system/
sudo nano airconnect.service
und mit folgedem Inhalt füllen
[Unit] Description=AirUPnP bridge After=network-online.target Wants=network-online.target [Service] Type=forking ExecStart=/home/pi/airconnect/airupnp-arm -z -x /home/pi/airconnect/config.xml Restart=on-failure RestartSec=30 [Install] WantedBy=multi-user.target
den Service aktiveren:
systemctl enable airconnect.service
den Service starten:
sudo service airconnect start
Probiere am besten danach einen Reboot und schau ob deine AirPlay Geräte gefunden werden.
um den Service irgendwann zu stoppen
sudo service airconnect stop
oder zu starten
sudo service airconnect start
Fazit
An sich ist Chromecast ja nicht verkehrt: Du kannst so z.B. einen Radiostream direkt auf dem Chromecast Gerät abspielen - also ohne Umweg über dein Handy, Tablet oder PC. Allerdings bin ich einfach ein riesen Fan von Airplay als Ersatz zu Bluetooth. Der Vorteil für mich ist die super einfache Verbindung von der jeweiligen Musik-App heraus. Mit AirConnect habe ich mir so die perfekte Soundlösung gebastelt. Wenn es in der Zukunft auch noch AirPlay 2 Unterstüzung gibt, dann habe ich für mich die ideale Multiroom-Lösung neben Max2Play gefunden.
Ähnliche Beiträge
- Proxmox: USB Passthrough für LXC Container (Z-Wave UZB1)
- Proxmox: LXC Linux Container erstellen
- Xiaomi Aqara (ZigBee) ohne Mi Smart Gateway verwenden
- deCONZ: Hue-Bridge auf dem Raspberry Pi emulieren
- Kostenloses FHEM Backup in die Cloud (z.B. Dropbox)
- FreeNAS / TrueNAS für PLEX im HP Microserver Gen8 + Steuerung durch FHEM
- HomeMatic CCU2 mit YAHM auf Raspberry Pi 3
- QNAP NAS mit SNMP in FHEM einbinden
- Upgrade Raspbian Stretch Lite zur Desktop Version
- Alexa Wecker direkt in FHEM übernehmen
Hallo Emanuel,
Vielen Dank für deinen Artikel. Bin vor kurzem auf AirUPNP gestossen welches mein SONOS Setup wahnsinnig bereichert. Von einem anderen Artikel auf dieser Seite habe ich gelernt, dass Sie auch ein QNAP NAS haben. Haben Sie rein zufällig aircast/upnp mal auf dem QNAP installiert bekommen? Wenn ja, können Sie hier vielleicht ein paar Pointer und Hilfestellungen posten?
Gruss und Dank.
Hallo Urs,
ja das habe ich tatsächlich so verwirklicht mittlerweile, ist an sich recht einfach. Man erstellt z.B. mittels Containerstation einen Container mit dem Linux seiner Wahl und kann dann analog zur Anleitung AirUPNP installieren.
lg, Emanuel