Music Player Daemon

Izvor: HrOpenWiki
Skoči na: orijentacija, traži

Music Player Daemon (MPD) glazbeni je erver kojem se može pristupiti ili lokalno ili putem udaljene sesije, te se također koristi za jednu od ove dvije namjene - kao lokalni daemon ili kao network daemon. Zbog minimalne potrošnje resursa obožavaju ga i desktop i server korisnici diljem svijeta.

Dizajniran je da posao odrađuje u pozadini čitajući glazbu sa unaprijed definirane playliste. Za komunikaciju sa MPD-om potrebno je imati neki od klijenata iz bogate ponude. Na raspolaganju vam stoje ncurses, qt ili pak gtk-based klijenti te pluginovi koji omogućuju komunikaciju preko panela, izbornika, pa čak i iz VI editora.

Instalacija

  • Arch Linux
pacman -S mpd
  • Debian
apt-get install mpd
  • Gentoo
emerge -av mpd
  • Fedora
yum -y install mpd

Konfiguracija

Način na koj će se MPD konfigurirati ovisi o načinu na koj će se koristiti. Može se podesiti da radi na per-user bazi ili da se podiže kao sistemski dio. Konfiguracije je spremljena u mpd.conf. Radi lakšeg korištenje i izbjegavanja glavobolje pametno je da MPD ima pristup sljedećim datotekama

 mpd.db    # baza glazbe
mpd.pid   # datoteka gdje MPD sprema svoj process ID
mpd.log   # mpd logovi
mpdstate  # mpdovo trenutno stanje
playlists # playliste

Kako bi MPD bio u mogučnosti uopće reporoducirati zvuk potrebno je imati pravilno podešenu Alsu,Pulse,OSS ili Jack audio te nemojete zaboraviti odabrati unmute na potrebnim kanalima.

Pokretanje prilikom podizanja sustava

Ovako pokrenut MPD prvenstveno je namijenjen radu na računalu koje ne pokreće grafičko sučelje i ne služi kao desktop računalo. MPD se može pokrenuti i na desktop računalu u ovakvom načinu kako bi ga svi korisnici koristili ravnopravno, međutim ovakav postav donosi neke komplikacije u radu s PulseAudiom stoga je preporučljivo preskočiti ovu mogućnost.

Kao root provjerite dal postoji datoteka /etc/mpd.conf , ukoliko postoji obrišite je

 rm /etc/mpd.conf 

MPD dolazi sa primjerom konfiguracijske datoteke koja je spremljena pod /usr/share/mpd/mpd.conf.example. Ova datoteke sadrži sve potrebne informacije oko konfiguracije te nativne postavke mixera pa je možete koristiti jednostavno odkomentirajući linije koje odgovaraju vašem sustavu te ih lagano promjeniti.

Kao root kopirajte izmjenjenu datoteku pod /etc/mpd.conf

 cp /usr/share/mpd/mpd.conf.example /etc/mpd.conf

Kako želimo podesiti MPD da se pokreće kao daemon kod sistem boota nemojte nikada mpd.conf staviti pod /home/user jer ga neće moći prepoznati i pokrenuti.

Samo pokretanje se vrši tako da mpd dodamo u daemon sekciju pod /etc/rc.conf odnosno /etc/init.d/mpd

MPD pokrenut samostalno i PulseAudio

Kad je MPD pokrenut samostalno, prilikom podizanja sustava i ako se koristi zajedno s PulseAudiom, MPD stvori vlastitu instancu PA te svaki novi korisnik koji se paralelno prijavi na sustav ne može dobiti zvuk na PA osim ako nema više fizičkih zvučnih kartica. Problem se može riješiti tako da se PulseAudio podesi kao sistemski servis (en. system wide), a ne po korisniku. Takav postav PA-a nije preporučen radi sigurnosnih i praktičnih razloga, no predstavlja jedinu opciju za ovakvo rješenje. Pogledati PulseAudio#PA kao sistemski servis.

Pokretanje kao korisnik

Razlika između pokretanja kao korisnik i pokretanja kao daemona je što u ovom slučaju mpd.conf se mora nalaziti unutar ~/.mpd direktorija a ne unutar /etc Pokretanje se vrši putem .xinitrc datoteke

Editiranje mpd.conf datoteke

 Datoteka: /etc/mpd.conf

music_directory       "/home/user/music"
playlist_directory    "/var/lib/mpd/playlists"
db_file               "/var/lib/mpd/mpd.db"
log_file              "/var/log/mpd/mpd.log"
pid_file              "/var/run/mpd/mpd.pid"
state_file            "/var/lib/mpd/mpdstate"
user                  "mpd"
# Binding to address and port causing problems in mpd-0.14.2 best to leave
# commented.
# bind_to_address       "127.0.0.1"
# port                  "6600"

Ukoliko je vaša glazba raspoređena po više različitih direktorija možete unutar /var/lib/mpd kreirati simboličke linkove te music_directory namjestiti na datoteku sa simboličkim linkovima. Kako bi glasnoću zvuka mjenjali u samome MPD-u potreno je odkomentirati ili dodati sljedeću liniju

 mixer_type			"software"

Korisnici Pulseaudio sustava će morati primjeniti sljedeće promjene


 audio_output {
        type                    "alsa"      #<- Change this to "pulse"
        name                    "Sound Card"
} 

Kreiranje potrebnih datoteke

Kad smo završili sa konfiguriranjem MPD-a potrebno je kreirati sve potrebne datoteke sa njegov normalan rad. Kao root kreirajte sve datoteke koje ste definirali unutar mpd.conf

  mkdir -p /var/lib/mpd/playlists /var/run/mpd
 touch /var/lib/mpd/{mpd.db,mpdstate} /var/run/mpd/mpd.pid 

Zatim treba promjeniti njihove dozvole kako bi ih daemon mogao mjenjati


chown -R mpd /var/lib/mpd /var/run/mpd

Stvaranje baze

Stvaranje baze se može postići na dva vrlo jednostavna načina, putem samog MPD-a ili MPC klienta.

Preko MPD-a - mpd --create-db

Preko klienta - mpc update

Dodatak pokretanju u korisničkom načinu

Ukoliko ste se odlučili pokretati MPD kao korisnik nakon svih ovih koraka potebno je još primjeniti 3 jednostavne naredbe

Kreirajte mpd direktorij i direktorij sa playlistama

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

Kopirajte u ~/.mpd konfiguracijsku datoteku

 cp /usr/share/mpd/mpd.conf.example ~/.mpd/mpd.conf

Kreirajte sve potrebe datoteke

 touch ~/.mpd/{mpd.db,mpd.log,mpd.pid,mpdstate} 

Editirajte mpd.conf da radi sa njima


# Please note: All "/home/USER/" parts can be replaced by a simple ~/
music_directory    "/home/USER/Music"
playlist_directory "/home/USER/.mpd/playlists"
db_file            "/home/USER/.mpd/mpd.db"
log_file           "/home/USER/.mpd/mpd.log"
pid_file           "/home/USER/.mpd/mpd.pid"
state_file         "/home/USER/.mpd/mpdstate" 

konkretan primjer konfiguracije

music_directory       "/home/lutherus/Music"         # Your music dir.
playlist_directory    "~/.mpd/playlists"
db_file               "~/.mpd/mpd.db"
log_file              "~/.mpd/mpd.log"
pid_file              "~/.mpd/mpd.pid"
state_file            "~/.mpd/mpdstate"
#user                  "lutherus"
audio_output { 
         type                    "alsa"
         name                    "My ALSA Device"
         device                  "hw:0,0"     # optional
         format                  "44100:16:2" # optional
}

# Binding to address and port causing problems in mpd-0.14.2 best to leave
# commented.
# bind_to_address       "127.0.0.1"
#port 

konfiguracija sa podrškom za vizualizaciju

music_directory       "/home/lutherus/Music"         # Your music dir.
playlist_directory    "~/.mpd/playlists"
db_file               "~/.mpd/mpd.db"
log_file              "~/.mpd/mpd.log"
pid_file              "~/.mpd/mpd.pid"
state_file            "~/.mpd/mpdstate"
#user                  "lutherus"
audio_output { 
         type                    "alsa"
         name                    "My ALSA Device"
         device                  "hw:0,0"     # optional
         format                  "44100:16:2" # optional
}
audio_output {
    type                    "fifo"
    name                    "my_fifo"
    path                    "/tmp/mpd.fifo"
}

# Binding to address and port causing problems in mpd-0.14.2 best to leave
# commented.
# bind_to_address       "127.0.0.1"
#port

Odabir klienta

Za ugodno korištenje potrebno je odabrati neki od mnoštva klienata koji vam stoje na raspolaganju

CLI klienti

mpc ncmpc ncmpcpp pms

GUI klienti

ario gmpc sonata qmpdclient dmpc

Osobno preporučam od cli klienata kombinaciju mpc + ncmpcpp te od grafičkih sonatu.

Last.fm

Također MPD podržava i glazbu sa last.fm. Za to postoji nekoliko opcija.

mpdscribble

mpdscribble je dodatan daemon koj se upari sa MPD te je najbolja i najkvalitetnija alternativa za pristup na last.fm. Nakon što ga skinete i instalirate kao root trebate kreirati .mpdscribble direktorij

 mkdir ~/.mpdscribble

te je potrebno napraviti datoteku ~/.mpdscribble/mpdscribble.conf sljedećeg sadržaja


  [mpdscribble] 
 host = <your mpd host> # optional, defaults to $MPD_HOST or localhost
 port = <your mpd port> # optional, defaults to $MPD_PORT or 6600
 log = /home/<YOUR_USERNAME>/.mpdscribble/mpdscribble.log
 verbose = 2
 sleep = 1
 musicdir = <your music directory>
 proxy = <your proxy> # optional, e. g. http://your.proxy:8080, defaults to none

 [last.fm]
 # last.fm section, comment if you don't use last.fm
 url = http://post.audioscrobbler.com/
 username = <your last.fm username>
 password = <your last.fm password> # md5sum also possible: echo -n 'PASSWORD' | md5sum | cut -f 1 -d " "
 journal = /home/<YOUR_USERNAME>/.mpdscribble/lastfm.journal

 [libre.fm]
 # libre.fm section, comment if you don't use libre.fm
 url = http://turtle.libre.fm/
 username = <your libre.fm username>
 password = <your libre.fm password> # md5sum also possible: echo -n 'PASSWORD' | md5sum | cut -f 1 -d " "
 journal = /home/<YOUR_USERNAME>/.mpdscribble/librefm.journal 

i dodati mpdscribble u .xinitrc

Sonata

Najjednostavniji naći ukoliko vas ne smeta mnoštvo otvorenih prozora na desktopu je Sonata koja dolazi sa ugrađenom opcijom za last.fm

Nativna podrška

MPD ima i nativnu podršku za last.fm.Za nu je potrebno dadati sekciju

$ playlist_plugin {
       name            "lastfm"
       user            "my_username"
       password        "my_password"
} 

u mpd.conf te sa mpc load "lastfm://artist/Slayer" pozvati stream u ovome slučaju za stream banda Slayer.

Upravljanje preko bluetooth mobilnog uređaja

Instalirajte remuco Premjestite remuco jar/jad datoteke iz /usr/share/remuco/client/ na vaš mobilni i instalirajte Pokrenite remuco kao korisnik remuco-mpd Pokrenite remuco na mobilnom Upravljajte mpdom preko mobilnog

Upravljanje preko Android uređaja

MPD-om se može upravljati i putem Android mobilnog uređaja.Potrebno je sa Marketa povući odgovarajući aplikaciju,unjeti IP adresu MPD servera te eventualno port za spajanje.Najpopularnije aplikacije u tu svrhu su PMix i Droid MPD.