MPD-Server auf dem Raspberry Pi

In dieser kleinen Anleitung geht es darum, einen MPD-Server (Music Player Daemon-Server) auf dem kleinen Raspberry Pi zu installieren.
Der MPD-Server erlaubt es euch an einer zentralen Stelle Musik ab zu spielen oder auch über das Netzwerk zu streamen. Ihr könnt den Pi an eurer Stereoanlage anschließen und per Smartphone auswählen, welche Musik aus den Lautsprechern kommen soll.


Eine aktualisierte Version des Beitrags gibt es hier ➡ Raspberry Pi – Musik auf der Stereoanlage wiedergeben

Bei der Konfiguration meines Pis gab es ein paar kleiner Problemchen, vor allem mit der Soundwiedergabe über ALSA und den Klinkenstecker, aber nun mal von vorne.

MPD befindet sich in den Repositories und lässt sich deshalb ganz einfach über die Konsole installieren. Ich habe in diesem Schritt auch gleich noch die „alsa-utils“ für die Soundwiedergabe mit installiert.

sudo apt-get install mpd mpc alsa-utils

Nach der Installation gilt es ALSA zu konfigurieren. Das funktioniert mit den beiden Befehlen:

sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1

Nach diesem Eingriff in die Konfiguration sollte die Soundwiedergabe funktionieren und wir können uns dem MPD-Server widmen. Zuvor sollte die ALSA-Einstellung aber gespeichert werden, da diese sonst bei jedem Neustart zurückgesetzt wird und damit wahrscheinlich kein Ton aus den Lautsprechern kommen würde. Der Befehl zum speichern lautet:

sudo alsactl store

Die Konfigurationsdatei für MPD ist hier zu finden /etc/mpd.conf. In dieser Datei gilt es ein paar kleiner Anpassung vorzunehmen. Die Datei ist am Besten via nano-Editor über die Konsole zu editieren

sudo nano /etc/mpd.conf

Erreichbarkeit über das Netzwerk

Damit der MPD-Server auch über das Netzwerk erreichbar ist, ist die Zeile „bind_to_address“ aus zu kommentieren:

MPD-Server
MPD-Server

Soundeinstellungen anpassen

Die folgenden Zeilen sind so anzupassen:

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
#       format          "44100:16:2"    # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

MPD-Server
MPD-Server

Steuern des MPD-Servers via Webbrowser

Der MPD-Server verfügt über die Möglichkeit zur Steuerung via Webbrowser. Diese Funktion muss man aber zuerst in der „mpd.conf“ freischalten:

MPD-Server
MPD-Server

Nach einem Neustart, kann über http://ip-adresse:8000 gesteuert werden.

Musikverzeichnis anpassen

Standardmäßig prüft MPD die beiden Verzeichnisse:

  1. /var/lib/mpd/music/ auf Musik
  2. /var/lib/mpd/playlists/ auf Playlisten

Man kann aber die beiden Verzeichnisse auch abändern, um die Musik im Home-Verzeichnis abzuspeichern. Dafür ist in der „mpd.conf“ der Eintrag entsprechend abzuändern.

MPD-Server
MPD-Server

Alternativ könnt ihr die Rechte für die Standardverzeichnisse anpassen:

sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/

Zum Abschluss ist der MPD-Server neu zu starten und die Datenbank zu aktualisieren:

sudo /etc/init.d/mpd restart
sudo mpc update

Android

Zum Steuern des MPD mit meinem Smartphone verwende ich die APP MPDroid.

MPDroid
MPDroid
Entwickler: namelessDev
Preis: Kostenlos
  • MPDroid Screenshot
  • MPDroid Screenshot

Als MPD-Client auf dem Android-Smartphone verwende ich nicht mehr MPDroid sondern Droid MPD Client

Droid MPD Client
Droid MPD Client
Entwickler: Soreha
Preis: Kostenlos
  • Droid MPD Client Screenshot
  • Droid MPD Client Screenshot

Windows

Zum Steuern von MPD von einem Windows Betriebssystems aus verwende ich das kleine Tool „Auremo MPD Client“ ➡ https://archive.codeplex.com/?p=auremo.
Die Entwicklung scheint ein wenig eingeschlafen zu sein, aber es funktioniert nach wie vor ohne Probleme.

Update

Während einer erneuten Installation von MPD bin ich etwas von der obigen Anleitung abgewichen.
Anstatt die Aktualisierung der Datenbank mit „sudo“ zu starten habe ich dies mit dem ganz normalen Benutzer durchgeführt.

mpc update


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.de


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Bildquelle: Gemeinfrei-ähnlich freigegeben durch unsplash.com Yomex Owo

9 Antworten auf „MPD-Server auf dem Raspberry Pi“

  1. Hallo,kannst du wirklich den MPD per Webbrowser steuern? Wenn ich den httpd Block in der Config aktiviere, dann kann ich z.B. per VLC erfolgreich den abgespielten Track per HTTP-Stream empfangen, so wie es der Name auch suggeriert. Allerdings gibt es kein Webinterface, mit dem man den MPD unter diesem Port steuern kann. Hast du es mal selbst ausprobiert?GrüßeThomas

  2. Hey,ich wollte mal fragen, wie sieht es damit aus, diesen Stream an andere Pis oder sonstige Endgeräte zu „senden“ also kann ich z.B. mit meinem zweiten Pi diesen Stream auch empfangen und am zweiten Pi wiedergeben lassen?Michael

    1. Hallo Michael,

      das ist eine gute Frage. Damit habe ich mich aber noch nicht befasst.
      Wenn du eine Lösung gefunden hast, wäre es sehr nett, wenn du eine kurze Info hier postest.

      Grüße

      Stefan

  3. Hallo Stefan,
    alles soweit Gut,nur das der Empfang nach einer gewiessen Zeit so 10 Stunden abreisst und ich den Raspi neu start muss. Egal welche Uhrzeit ich ihn an mache immer genau 10 Stunden 8 Minuten und 40 Sekunden ist ende.
    Wisst Du da eine Rat wo ran es liegen könnte?
    Danke schon mal lm vorraus.
    mfg Bolle

    1. Hallo Bolle,

      keine Ahnung an was das liegen könnte.
      Du könntest als Quickfix den mpd daemon oder gar den ganzen Pi mit Hilfe eines Cron Jobs nach einer definierten Zeit neustarten lassen.

      Grüße

      Stefan

      Stefan

  4. Hallo Stefan,
    wollte zuerst nicht glauben, dass der HTTP-Stream auch direkt im Brower über den unter audio_output(
    ….
    } definierten Port steuerbar ist. Das hatte ich nie ausprobiert, da es ein http-Protokoll ist liegt es allerdings nahe, das ein Browser damit etwas anfangen kann. Allerdings kann nur der laufende Titel/Playlist pausiert / gestartet die Lautstärke verändert werden. Eigentliches Zeil des Http-Stream-Outputs ist es aber, wie von Michael bereits angedeutet, darüber einen Stream z.b. auf einem Internetradio wiederzugeben. Ich habe eine solche Lösung mit mehreren parallel laufenden MPD-Instanzen (jeder in der Familie hat ’nen eigenen Stream per eigener mpd-instanz mit eigener *.conf) auf einem AMD64-Debian-Server laufen. Als Frontend nutzen wir hautsächlich das Smartphone und die M.A.L.P-App unter Android, das kann dann die verschiedenen Ports per umschaltbarem Profil bedienen.
    Grüße
    Joe

Schreibe einen Kommentar

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