MPD

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

MPD ist ein OpenSource-Music Player Daemon, der mit einem einfachen Netzwerkprotokoll fernsteuerbar ist und auf dem Server MP3s u.ä. abspielt und die MP3-Datenbank verwaltet.


MPD Server

Basiskonfiguration

Konfiguriert wird der Server über die /etc/mpd.conf. Siehe auch

 man mpd.conf

Will man über andere Computer auf den MPD zugreifen sollte

 bind_to_address		"any"

gesetzt werden. Für die Fehlersuche bietet sich an

 log_level			"verbose"

Arbeitet man mit symbolischen Verknüpfungen im Dateisystem bietet sich an,

 follow_outside_symlinks	"yes"
 follow_inside_symlinks	"yes"

zu setzen.

Um bei großen Sammlungen den Zugriff von Clients wie Cantata, die den Protokollbefehl listallinfo verwenden, zu ermöglichen, sollte der Ausgabepuffer hochgesetzt werden:[1]

 max_output_buffer_size        "819200"

Berechtigungen für Zugriff auf Song-Dateien

Wichtig ist, dass das in /etc/mpd.conf als music_directory angegebene Verzeichnis (im Normalfall /var/lib/mpd/music) vom als user angegebenen Benutzer (im Normalfall mpd) gelesen werden kann (Dateien mindestens Read-Berechtigung, Verzeichnisse zusätzlich noch Ausführberechtigung).

Evtl. muss auch noch der Benutzer mpd der Gruppe audio hinzugefügt werden:

 sudo usermod -aG audio mpd 

und der Gruppe plugdev bei Zugriff auf eingehängten Geräten oder Ubuntu:[2]

 sudo usermod -aG audio mpd 

Serverstart

Der Server wird so gestartet:

 sudo service mpd start

Beim ersten Aufruf muss die Datenbank angelegt werden

 sudo service mpd start-create-db

Um das Neuerzeugen der Datenbank zu forcieren, entfernt man die Datenbankdatei (siehe /etc/mpd.conf):

 rm /var/lib/mpd/tag_cache


Die Alternative dazu ist die Installation des Kommandozeilen-Clients mpc und Ausführen des Befehls update:

 sudo aptitude install mpc
 mpc update

Beendet wird er so:

 sudo service mpd stop

Ausgabe auf andere Soundkarte

Mittels des ALSA-Soundsystems verwendbare Soundkarten kann man sich folgendermaßen auflisten lassen:

 aplay -L

Soll der MPD die Ausgabe auf eine andere Soundkarte ausgeben, ersetzt man im audio_output-Block in der /etc/mpd.conf das

 device "hw:0,0"

durch die entsprechende Soundkarte, die mit aplay -L ermittelt wurde, z.B.:

 device          "plughw:CARD=Device,DEV=0"

(Bei mir ist das eine Terratec AureonDualUSB-Soundkarte, die auch einen Digitalen Ausgang hat).


MPD als Userdienst auf Desktop-System

MPD funktioniert mit PulseAudio am besten als vom Desktop-Benutzer gestarteter Dienst.

Dazu muss in der /etc/default/mpd dafür gesorgt werden, dass MPD nicht als Systemdienst gestartet wird:

 START_MPD=false

Der Benutzer muss der Gruppe audio hinzugefügt werden:

 sudo adduser BENUTZER audio

Die Gruppe audio muss das PID-File schreiben können:

 sudo mkdir /run/mpd
 sudo chgrp audio /run/mpd
 sudo chmod 775 /run/mpd

Die Gruppe audio muss in das Log-File schreiben können:

 sudo mkdir /var/log/mpd
 sudo chgrp audio /var/log/mpd
 sudo chmod -R g+rwX /var/log/mpd

Schließlich muss auch noch auf die MPD-Datenbank und den Status zugegriffen werden können:

 sudo chmod -R g+rwX /var/lib/mpd

Erweiterungen

mpd-sima

MPD-SIMA ermöglicht das Ergänzen der aktuellen Playlist mit ähnlichen Songs. Die Ähnlichkeit wird durch Abfragen bei Last.fm abgefragt.

Falls sich in /var/log/mpd-sima/mpd-sima.log der folgende Fehler findet:

 last.fm module error: 'XML not UTF-8 encoded!'

hilft wohl der Patch am Ende des einschlägigen Bugreports. Das ist wohl nur ein Problem für mpd-sima V 0.10. In Version 0.13 scheint er behoben.

Der Patch für mpd-sima V0.10 geht so: 1. Den Patch herunterladen:

 wget https://bugs.launchpad.net/ubuntu/+source/mpd-sima/+bug/1492589/+attachment/4497646/+files/patch

Dann müsste eine Datei namens patch im aktuellen Home-Verzeichnis zu finden sein.

2. Das Zielverzeichnis finden:

 dpkg -L mpd-sima | grep simafm

3. Ins Zielverzeichnis wechseln, z.B. (Debian 8.0 Jessie):

 cd /usr/share/mpd-sima/lib

4. Patch als root-User anwenden:

 patch -p5 < ~/patch

5. mpd-sima neu starten:

 sudo service mpd-sima restart

Mopidy Server

Ein zum Protokoll von MPD kompatibler Server ist Mopidy, der unter der Apache Lizenz 2.0 steht.

BPD Plugin für Beets

Das BPD Plugin für Beets emuliert einen Music Player Daemon.

Clients

Konsole

Der Standard-Client für die Konsole ist mpc.

Ncurses-basiert gibt es

  • ncmpcpp
  • ncmpc (weitgehend konfigurierbar)


Gnome

Der Gnome Music Player Client gmpc unterstützt auch das Ändern von Playlists.

Android

  • Der Droid MPD Client sieht gut aus, stürzt unter Android 2.1 auf einem ZTE Blade noch häufig ab.
  • PMix läuft schon stabil, hat aber eine weniger hübsche GUI als Droid MPD Client.

Web

ympd

ympd scheint ein modern anzusehender leichter MPD-Client zu sein. Er ist in C geschrieben und nutzt für das Styling der Weboberfläche Bootstrap.

Für den Raspberry gibt es hier eine Installationsanleitung.

Außerdem scheint es dafür eine Erweiterung zum Anhören von Youtube über MPD zu geben. Diese soll die Youtube-Dateien mit Hilfe von youtube-dl auch gleich in die MPD-Datenbank dauerhaft hochladen zu können.

RompR

RompR ist ein WebClient für MPD/Mopidy, der angeblich auch auf dem Smartphone ansehnlich sei.

PhpMpReloaded

PhpMpReloaded ist eine Zusammenfassung verschiedener WebClients für MPD.

Fookebox

Fookebox ist eine einfache Web-GUI für MPD.

Es lässt sich installieren mit

 sudo aptitude install fookebox
 sudo a2enconf fookebox

Darauf zugreifen lässt sich über

 http://localhost/fookebox


Eine zweite Anzeige (ohne Bedienmöglichkeiten) lässt sich über folgenden Link erreichen:

 http://localhost/fookebox/program

Ampache

  • Ampache ist ein Web-Frontend (nicht nur) für MPD.
  • Installation des Pakets ampache
  • Basiskonfiguration via http://localhost/ampache
  • Abspeichern der herunterzuladenden Datei unter
 /etc/ampache/ampache.cfg.php

J2ME

Der Adapter Remuco für verschiedene Music Player stellt eine Verbindung über Bluetooth zu J2ME-Geräten her.

iOS

MPod ist kostenlos über Apples AppStore erhältlich.

Weiterführendes

Siehe Audio