Sound

(Weitergeleitet von Musik)
Wechseln zu: Navigation, Suche
Overview of mpd interfaces, and client-server architecture explanation[1] (by W0rm licensed under CC BY-SA 3.0)

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.

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]

Weiterführende Links zu mpd