Sound
Auf unserem OpenWrt-Router läuft mpd (Music Player Daemon) zur Musikwiedergabe. Dazu ist eine USB-Soundkarte (Speedlink VIGO USB Soundcard) an Router und Boxen angeschlossen. Außerdem hängt Rechner #1 wie üblich auch mit an den Boxen (sprich: keine Einschränkung gegenüber dem Setup aus der Vergangenheit). Für Details zur ProWe-Infrastruktur, siehe Intern:ProWe-Rechner.
Inhaltsverzeichnis |
Vorteile gegenüber bisheriger Lösung
Bis jetzt waren die Boxen direkt an Rechner #1 angeschlossen. mpd bietet einige Vorteile:
- es muss kein extra Rechner für Musikwiedergabe hochgefahren werden
- alle Anwesenden können (ihre eigene) Musik in die Playlist werfen, die Lautstärke anpassen usw.
- für die üblichen Streams liegen bereits m3u-Dateien bereit, die einfach in die Playlist eingereiht werden können
- Song und Künstler (ID3-Tags oder Dateiname) scrollen über unseren LED-Ticker
Musik per mpd wiedergeben
Lokale mpd-Clients
Es gibt viele verschiedene mpd-Clients für diverse Betriebssysteme (grafisch oder für die Konsole). Für Linux bietet sich gmpc an. Eine gute Übersicht bietet das mpd-Community-Wiki.
Zur Konfiguration (nur im ProWe-WLAN):
Router-IP: 192.168.100.1 mpd-Port: 6666
Direkt auf dem Router
Einfach mit dem Terminalemulator eurer Wahl auf dem Router per SSH einloggen und via mpc die Musikwiedergabe steuern (siehe man mpc[2]).
Eigene Musik wiedergeben
mpd kann selbst keine Daten vom Client übertragen. Deshalb mountet man sein Musikverzeichnis am besten per sshfs auf dem Router (unterhalb des mpd-Musikverzeichnisses) oder gibt es per HTTP (Webserver) frei.
Achtung: Das freigegebene Verzeichnis ist im WLAN für alle Anwesenden zugänglich.
SSHFS-Beispiel
Mit folgenden Befehlen verbindet man sich auf den Router und mountet dort (read-only) sein Musikverzeichnis. Voraussetzung ist ein lokal laufender sshd.
ssh root@192.168.100.1 sshfs -o ro user@192.168.100.42:/home/user/Musik /usr/local/mpd/sshfs
Achtung: SSHFS kann keine certificate negotiation, deshalb muss man sich beim ersten mal per ssh einloggen und das unbekannte Zertifikat bestätigen. Je nach Client kann anschließend das Musikverzeichnis aktualisiert, in den entsprechenden Unterordner navigiert und die neuen Datei der Playlist hinzugefügt werden.
HTTP-Beispiel
Per Python kann man einen einfachen HTTP-Server aufmachen, der den Inhalt des momentanen Verzeichnisses und aller Unterverzeichnisse ausliefert.
cd /home/user/Musik python -m SimpleHTTPServer 8080
So freigegebene Dateien können einfach per HTTP-Link in die Wiedergabeliste eingefügt werden, z.B.:
http://192.168.100.42:8080/Rick_Astley_-_Never_gonna_give_you_up.mp3
Einschränkungen
- ogg-Wiedergabe scheint bei unserer mpd-Version leider kaputt zu sein[3]