Synchrones Multi-Room Audio­strea­ming mit dem RaspberryPi (2)

Wie bereits in meinem letzten Artikel zum RaspberryPi (2) angekündigt, habe ich mich ein wenig mit synchronem Multi-Room Audiostreaming in verschiedenen Räumen beschäftigt.

Zunächst habe ich meinen stationären PC als Server verwendet um alles dort abgespielte via VLC an zwei Laptops in anderen Räumen zu streamen, allerdings ist der Materialaufwand nicht unerheblich und immer beide Laptops aufzubauen war mir auf Dauer auch zu unhandlich. Ein weiteres Problem dieser Lösung war, dass ich den PC selber nicht als Wiedergabegerät benutzen konnte, da dieser 0,5-1 Sekunde vor den Laptops war, was dem Zweck des synchronen Audiostreamings widersprach.

Nach kurzem Suchen nach einer Lösung für den Raspberry Pi, bin ich über den Logitech Media Server (LMS) gestoßen, der auch als Squeezebox Server oder Slim Server bekannt ist. Logitech hat zwar die Entwicklung eingestellt, jedoch den Sourcecode offen gelegt, sodass eine aktive Community die Weiterentwicklung übernommen hat. Aktuell ist Version 7.8 stabil und 7.9 in Entwicklung. Ich persönlich verwende Version 7.9 und hatte bei der Installation deutlich weniger Probleme als mit Version 7.8.

Der LMS ist die Server Komponente. Diese wird pro Haus/Wohnung einmal benötigt. Zusätzlich braucht ihr pro Raum einen RaspberryPi (mittlerweile gibt es die Zero Version für 5$) und zugehörige Lautsprecher.  Diese werden als Client bezeichnet und führen den LMS Client Squeezelite aus. Der Server kann auch selbst einen Client ausführen.

Installation vom LMS

Auf meinem RaspberryPi 2 läuft aktuell die Distribution OSMC, allerdings habe ich die Installation auch schon unter Raspbian durchgeführt.

Zunächst müsst ihr das Paket für den LMS herunterladen. Eine Übersicht über die aktuelle Version mit verschiedenen Installern findet ihr hier. Ihr müsst das Debian Installer Package (ARM) auswählen. Ich habe hier die momentan aktuelle Version verwendet.

Dieses könnt ihr nun mit dpkg installieren:

Danach müssen noch ein paar Berechtigungen korrigiert werden:

Installation Squeezelite

Nun müsst ihr pro Raum einen RaspberryPi mit Squeezelite ausstatten (auch den Server, wenn ihr wollt). Auf den Clients habe ich Raspbian installiert, aber es müsste auch mit anderen Distributionen funktionieren.

Zunächst müssen wir die Lautstärke erhöhen. Standardmäßig ist diese nur auf 50% festgelegt. Dies könnt ihr mit dem Kommando

ändern. Dort könnt ihr mit der Pfeil-Hoch Taste die Lautstärke auf 100% festsetzen. Anschließend könnt ihr den Mixer mit Esc wieder verlassen.

Bevor Squeezelite selbst installiert wird, benötigen wir noch einige Bibliotheken, die mit

installiert werden können.

Danach könnt ihr Squeezelite mit den folgenden Befehlen herunterladen und an die richtige Stelle verschieben:

Der letzte Befehl gibt die aktuell installierten Soundkarten aus. Falls ihr eine USB-Soundkarte benutzen wollt, müsste diese hier angezeigt werden. Da ich keine externe Soundkarte benutze, sieht die Ausgabe folgendermaßen aus:

Zusammenfassung

In diesem Artikel habe ich euch gezeigt, wie ihr synchrones Multi-Room Audiostreaming mit dem RaspberryPi (2) aufsetzen könnt. Dazu haben wir Squeezeboxserver und Squeezelite verwendet. In meinem nächsten Artikel werde ich mich wahrscheinlich mit AngularJS 2 vs React oder einfach nur React beschäftigen 😉

Wie immer würde ich mich über Kommentare und/oder Fragen sehr freuen 🙂

David Reher

David Reher

IT-Berater bei BROCKHAUS AG
David Reher ist IT-Berater bei der BROCKHAUS AG und ist besonders im Bereich Webentwicklung (Client & Server) engagiert. In seiner Freizeit beschäftigt er sich auch gerne mit kleineren Hardware-Spielereien vor allem im Bereich Heimkino und Audioverteilung.
David Reher
<< Vorheriger Beitrag
Nächster Beitrag >>

3 Gedanken zu „Synchrones Multi-Room Audio­strea­ming mit dem RaspberryPi (2)“

  1. Also ich finde den Blog toll 🙂 vielleicht ein bisschen Old-School, heute sind Youtube Videos der Hit… aber, ich mag bloggen !!!

    So lässt sich super netzwerken !

    Ich möchte ein sehr ähnliches System aufbauen, Multimedia, Multiroom mit Raspis, Windows PCs, iPhones, AV-Anlagen, Stereo-Anlagen, Smart-TVs, aktiven und passiven Lautsprecherboxen, also alles, was an Endgeräten verfügbar ist. Aber: ich gebe mich mit Audio nicht zufrieden. Ich möchte auch Video integrieren und mein Homematic Haussteuerung. Ich habe ca. 300 Homematic-Kanäle in Betrieb. Audio-Lösungen finde ich viele, LSM, Kodi usw. aber, wie ist das mit Video? Ich stehe auf Apple und besitze auch ein AppleTV. Das funktioniert prima. Vom iPhone oder vom iPAD. Aber wie ist es mit iVideo… Ich finde praktisch nichts zum Thema Video-Streaming in lokalen Netzen. Habt Ihr da vielleicht eine Idee?

    Ich habe recht gute IT-Kenntnisse, habe mal Physik studiert und beschäftige mich heute mit dem Thema Analytics und Big Data in einer Bank.

    Wäre toll, wenn ich mit Euch in den Dialog kommen könnte.

  2. Hi, danke für den Tutorial.
    Also habe ich richtig verstanden dass man einen Raspberry pi# im gleichen Moment als Server (mit LMS) und als Player verwenden kann, und dass man dann anhand des Servers andere Squeezeboxes synchron mitspielen lassen kann? Ich möchte das gerne wissen weil ich schon einige originale Squeezeboxes habe, und gerne einen Raspberry hinzufügen möchte, als Server und als Player und das alles synchron. Wäre toll wenn das klappt.
    Übrigens wurden die Squeezeboxes ursprünglich vom Betrieb Slimdevices dargestellt; damals war LMS (oder damals Squeezeserver, glaube ich) schon open Source. Glücklicherweise hat Logitech Squeezeserver opensource gelassen, obwohl es jetzt Logitech Media Server heißt.

    1. Hallo Maarten,
      das ist genau richtig. Ich habe es zwar bisher nur mit Squeezelite als Player getestet, aber es sollte genauso mit „echten“ Squeezeboxen gehen …
      Melde dich mal, ob es geklappt hat 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.