Music Player Daemon: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zeile 13: Zeile 13:
== Konfiguration ==
== Konfiguration ==


Bevor du mpd startest musst die die Konfiguration bearbeiten. Diese befindet sich unter  
Bevor man mpd startet, muss man die Konfiguration bearbeiten. Diese befindet sich unter  
<pre>/etc/mpd.conf.example</pre>
<pre>/etc/mpd.conf.example</pre>


Dies ist die Beispielkonfiguration, die du für Systemweit gültige Einstellungen als /etc/mpd.conf speichern musst.
Dies ist die Beispielkonfiguration, die man für systemweit gültige Einstellungen als /etc/mpd.conf speichern muss.
Sollen die Einstellungen nur für einen bestimmten User gelten, musst Du die Datei in dessen home-Verzeichnis als .mpdconf speichern.  
Sollen die Einstellungen nur für einen bestimmten User gelten, muss man die Datei in seinem home-Verzeichnis als .mpdconf speichern.  


=== Tipps ===
=== Tipps ===


Empfehlenswert ist es, mpd als User laufen zu lassen. Hierfür setze einfach deinen Benutzernamen in  
Empfehlenswert ist es, mpd als User laufen zu lassen. Hierfür setzt man einfach seinen Benutzernamen in  
die User-Variable, wie z.B. bei mir
die User-Variable:
<pre>user            "niclas"</pre>
<pre>user            "username"</pre>




Je nach Konfiguration ist es allerdings besser den MPD unter dem MPD-User "mpd" laufen zu lassen. Auf diese Weise umgeht man Berechtigungsprobleme bei einem MPD Update.
Je nach Konfiguration ist es allerdings besser den MPD unter dem MPD-User "mpd" laufen zu lassen. Auf diese Weise umgeht man Berechtigungsprobleme bei einem MPD-Update.
Ratsam ist es in diesem Fall allerdings auch, das Musikverzeichnis für den Benutzer "mpd" und die Gruppe "audio" zu "chown'en". Auf diese Weise kann der User "mpd", sowie jeder User der Gruppe "audio" (sofern die Gruppenrechte auf mindestens "lesen" gesetzt wurden), auf das Verzeichnis zugreifen.
Ratsam ist es in diesem Fall allerdings auch, das Musikverzeichnis für den Benutzer "mpd" und die Gruppe "audio" zu "chown'en". Auf diese Weise kann der User "mpd", sowie jeder User der Gruppe "audio" (sofern die Gruppenrechte auf mindestens "lesen" gesetzt wurden), auf das Verzeichnis zugreifen.




Benutzt du [[Alsa]], und willst mpd auch über Alsa betreiben, so kannst du die Konfigurationsdatei so belassen wie sie momentan ist. Wenn du noch esd oder einen anderen Soundserver installiert hast, verkompliziert sich die Sache. Dann solltest du Alsa als Ausgabegerät angeben. Die nötigen Einstellungen sind:
Benutzt man [[Alsa]], und will mpd auch über Alsa betreiben, kann man die Konfigurationsdatei so belassen wie sie momentan ist. Wenn man noch esd oder einen anderen Soundserver installiert hat, verkompliziert sich die Sache. Dann sollte  Alsa als Ausgabegerät angeben. Die nötigen Einstellungen sind:
<pre>
<pre>
audio_output {
audio_output {
Zeile 52: Zeile 52:
''Hierfür benötigt man spezielle Hardware. Diejenigen die sie haben, wissen es.''
''Hierfür benötigt man spezielle Hardware. Diejenigen die sie haben, wissen es.''


'''Hinweis: Diese Konfigurationsmöglichkeit besitzt keine Soundmixingeigenschaften, was an ALSA liegt. Dem Autor ist keine Möglichkeit bekannt ALSA diese Eigenschaft bei dem AC-3 Output "beizubringen". Das Programm, welches einen AC-3 Stream erzeugt (z.B. MPD in diesem Fall), erzeugt/benötigt einen exklusiven Zugriff auf das Audio-Device.'''
'''Hinweis: Diese Konfigurationsmöglichkeit besitzt keine Soundmixingeigenschaften, was an ALSA liegt. Dem Autor ist keine Möglichkeit bekannt ALSA diese Eigenschaft bei dem AC-3-Output "beizubringen". Das Programm, welches einen AC-3 Stream erzeugt (z.B. MPD in diesem Fall), erzeugt/benötigt einen exklusiven Zugriff auf das Audio-Device.'''


Möchte man, dass der MPD die Musik als Dolby Digital (AC-3) Stream abspielt, so muss man wie folgt vorgehen:
Möchte man, dass der MPD die Musik als Dolby-Digital-Stream (AC-3) abspielt, muss man wie folgt vorgehen:


1. <pre> pacman -S alsa-plugins </pre>
1. <pre> pacman -S alsa-plugins </pre>


Dies installiert das notwendige a52 Alsa-Plugin um einen AC-3 Stream zu erstellen.
Dies installiert das notwendige a52 Alsa-Plugin um einen AC-3-Stream zu erstellen.


2. ''~/.asoundrc'' oder ''/etc/asound.conf'' setzen
2. ''~/.asoundrc'' oder ''/etc/asound.conf'' setzen
Zeile 72: Zeile 72:
</pre>
</pre>


Dies stellt einmal die AC-3 Schnittstelle, und einmal ein Upmix-Device auf 6 Kanäle (5.1) bereit. Wer keine 5.1 Anlage hat (und AC-3 trotzdem nutzen will/kann) kann den stereoupmix weglassen (nicht getestet).
Dies stellt einmal die AC-3-Schnittstelle, und einmal ein Upmix-Device auf 6 Kanäle (5.1) bereit. Wer keine 5.1-Anlage hat (und AC-3 trotzdem nutzen will/kann) kann den stereoupmix weglassen (nicht getestet).


3. In der MPD Konfigurationsdatei den Audio-Output auskommentieren und  
3. In der MPD-Konfigurationsdatei den Audio-Output auskommentieren und  
<pre>
<pre>
audio_output {
audio_output {
Zeile 90: Zeile 90:
<pre> /etc/rc.d/mpd restart </pre>
<pre> /etc/rc.d/mpd restart </pre>


Funktioniert hier etwas nicht, so kann es daran liegen, dass irgendein Programm die Soundkarte nutzt. Ist dies der Fall, so funktioniert AC-3 nicht (siehe Hinweis), und umgekehrt.
Funktioniert hier etwas nicht, so kann es daran liegen, dass irgendein Programm die Soundkarte nutzt. Ist dies der Fall, funktioniert AC-3 nicht (siehe Hinweis), und umgekehrt.


== Inbetriebnahme ==
== Inbetriebnahme ==

Version vom 21. Dezember 2008, 22:29 Uhr

MPD ist ein Audio-Player mit einer Server-Struktur. Er läuft im Hintergrund als Daemon, besitzt eine Playlistverwaltung und eine Musik-Datenbank.

MPD Installation

Um mpd zu installieren, muss man das folgenden Befehl ausführen:

pacman -Sy mpd

Anschließend erstellt man ~/.mpd und ~/.mpd/playlists

mkdir ~/.mpd/
mkdir ~/.mpd/playlists

Konfiguration

Bevor man mpd startet, muss man die Konfiguration bearbeiten. Diese befindet sich unter

/etc/mpd.conf.example

Dies ist die Beispielkonfiguration, die man für systemweit gültige Einstellungen als /etc/mpd.conf speichern muss. Sollen die Einstellungen nur für einen bestimmten User gelten, muss man die Datei in seinem home-Verzeichnis als .mpdconf speichern.

Tipps

Empfehlenswert ist es, mpd als User laufen zu lassen. Hierfür setzt man einfach seinen Benutzernamen in die User-Variable:

user            "username"


Je nach Konfiguration ist es allerdings besser den MPD unter dem MPD-User "mpd" laufen zu lassen. Auf diese Weise umgeht man Berechtigungsprobleme bei einem MPD-Update. Ratsam ist es in diesem Fall allerdings auch, das Musikverzeichnis für den Benutzer "mpd" und die Gruppe "audio" zu "chown'en". Auf diese Weise kann der User "mpd", sowie jeder User der Gruppe "audio" (sofern die Gruppenrechte auf mindestens "lesen" gesetzt wurden), auf das Verzeichnis zugreifen.


Benutzt man Alsa, und will mpd auch über Alsa betreiben, kann man die Konfigurationsdatei so belassen wie sie momentan ist. Wenn man noch esd oder einen anderen Soundserver installiert hat, verkompliziert sich die Sache. Dann sollte Alsa als Ausgabegerät angeben. Die nötigen Einstellungen sind:

audio_output {
        type                    "alsa"
        name                    "My ALSA Device"
        device                  "dmixer"     # optional
        #format                 "44100:16:2" # optional
}
mixer_type                      "alsa"
mixer_device                    "dmix"
mixer_control                   "PCM"

Mehr Infos über dmix (bei Alsa für das Mischen mehrerer Soundquellen zuständig) findet man im Gentoo-Wiki

Dolby Digital / DTS

Hierfür benötigt man spezielle Hardware. Diejenigen die sie haben, wissen es.

Hinweis: Diese Konfigurationsmöglichkeit besitzt keine Soundmixingeigenschaften, was an ALSA liegt. Dem Autor ist keine Möglichkeit bekannt ALSA diese Eigenschaft bei dem AC-3-Output "beizubringen". Das Programm, welches einen AC-3 Stream erzeugt (z.B. MPD in diesem Fall), erzeugt/benötigt einen exklusiven Zugriff auf das Audio-Device.

Möchte man, dass der MPD die Musik als Dolby-Digital-Stream (AC-3) abspielt, muss man wie folgt vorgehen:

1.

 pacman -S alsa-plugins 

Dies installiert das notwendige a52 Alsa-Plugin um einen AC-3-Stream zu erstellen.

2. ~/.asoundrc oder /etc/asound.conf setzen

pcm.a52encode {
        type a52
}
pcm.stereoupmix {
        type upmix
        slave.pcm "a52encode"
        channels 6 
}

Dies stellt einmal die AC-3-Schnittstelle, und einmal ein Upmix-Device auf 6 Kanäle (5.1) bereit. Wer keine 5.1-Anlage hat (und AC-3 trotzdem nutzen will/kann) kann den stereoupmix weglassen (nicht getestet).

3. In der MPD-Konfigurationsdatei den Audio-Output auskommentieren und

audio_output {
       type    "ao"
       driver  "alsa"
       options  "dev=stereoupmix"
       name    "AC3 Output"
       format  "48000:16:2"
}

hinzufügen.

4. Den MPD neustarten.

 /etc/rc.d/mpd restart 

Funktioniert hier etwas nicht, so kann es daran liegen, dass irgendein Programm die Soundkarte nutzt. Ist dies der Fall, funktioniert AC-3 nicht (siehe Hinweis), und umgekehrt.

Inbetriebnahme

Als erstes erzeugt man eine Datenbank. Hierbei sammelt mpd Informationen über die Musik die im (in der Konfig angegebenen) Musikverzeichnis

		
/etc/rc.d/mpd create-db		

Nun starten wir mpd.

/etc/rc.d/mpd start

Wenn du willst, dass mpd beim Systemstart geladen wird trage ihn einfach in der /etc/rc.conf als daemon ein.

Datenbankaktualisierung

Die Datenbankaktualisierung funtkioniert beispielsweise so:

MPC:

mpc update

und bei laufendem ncmpc standardmäßig über:

Strg+U

Der Befehl mpd --update-db existiert seit 0.12 nicht mehr!

GUI/Client

Natürlich gibt es GUIs, bzw. Clienten für mpd. Einige sind z.B.

Eine Liste mit mehr Clienten findet man unter http://www.musicpd.org/clients.shtml

Links

http://www.musicpd.org/

http://mpd.wikia.com/wiki/