Linux E X P R E S

Facebook

Přehrávání hudby s MPD

mpd.png

MPD znamená Music Player Daemon. Je to démon, který přehrává hudbu, můžete jej ovládat na lokálním počítači nebo vzdáleně přes síť. MPD přitom standardně přehrává hudbu právě na tom počítači, na kterém je spuštěn, zároveň ale umí streamovat přehrávanou hudbu do sítě nebo za pomoci pulseaudio či icecast přehrávat na vzdáleném počítači.


Proč zrovna MPD?

Je to démon, jako takový běží na pozadí počítače ať se děje co chce. Můžete restartovat Xka, můžete se odhlásit, MPD poběží až do té doby dokud mu neřeknete jinak, stejně tak se i zapne bezprostředně po startu počítače.

Co je MPD a co není MPD, to si můžete dopodrobna přečíst v anglickém článku na stránkách MPD.

MPD je nenáročný, jako démon disponuje nějakým rozhraním pro klientské aplikace, prostřednictvím kterých ho ovládáte, a vlastním strojem, který se stará o přehrávání hudby. Sám jsem ho použil např. k vytvoření jednoúčelového počítače, který neměl kromě bedýnek nic jiného, a tak pouze přehrával mnou zvolenou hudbu (např. internetové rádio).

Nastavení MPD

MPD se nastavuje prostřednictvím svého konfiguračního souboru /etc/mpd.conf. Mezi zřejmě nejdůležitější volby patří:

# adresář, kde máte uložené hudební soubory
music_directory         "/nějaký/adresář"

# adresář se seznamy skladeb (playlisty)
playlist_directory      "/var/lib/mpd/playlists"

# v případě ovládání přes síť je nutno místo slova localhost použít IP adresu počítače
bind_to_address                 "localhost"
port                            "6600"

# zvukový výstup, také je možný oss, shout (pro Icecast)
audio_output {
        type                    "alsa"
        name                    "My ALSA Device"
}

# šikovná volba pro normalizaci hlasitosti zvukového výstupu
volume_normalization            "yes"

A další. Díky bohatě komentovaném konfiguračním souboru nebude nastavení MPD jistě větším problémem. Jako démon je nutno server MPD pro načtení nových voleb restartovat nebo alespoň znovu načíst nové nastavení pomocí příkazu /etc/init.d/mpd restart nebo /etc/init.d/mpd reload

Specialitou MPD je vytváření databáze hudebních souborů, které jsou k dispozici. Tu je možno vytvářet buď z klientské aplikace (z nějaké nabídky) nebo přímo při spuštění démona MPD zadáním:

/etc/init.d/mpd start-create-db

Tato nutnost může být trnem v oku řadě uživatelů. Buď se s tím smíříte, nebo budete muset použít něco jiného. Pro mě osobně to není problém, protože se mi moje hudební kolekce rozrůstají jen zvolna a málo. V okamžiku přidání nových skladeb je ovšem dobré provést znovuvytvoření databáze.

Ještě poznámka pro uživatele Debianu a podobných systémů, pokud chcete, aby se démon MPD spouštěl bezprostředně po startu počítače, pak nastavte v souboru /etc/default/mpd tuto volbu:

START_MPD=true

Klienti MPD

Klientských aplikací MPD existuje celá řada, přesto zde ukážu jenom tři z nich, jednoduše ty, které sám používám (nebo jsem použil). První bude pro konzoli, je jím klient mpc. Ovládání prostřednictvím mpc je snadné, kompletní seznam voleb pak zjistíte zadáním: mpc --help. Jmenujme několik málo základních (myslím si, že není třeba komentář):

mpc play
mpc pause
mpc stop
mpc prev
mpc next
mpc stats

Samozřejmě úprava seznamu přehrávaných skladeb je prostřednictvím mpc také možná, ale z vlastní zkušenosti ji doporučuji provádět komfortnějším způsobem z některého z grafických klientů.

Zadáte-li příkaz mpc bez dalších parametrů, zobrazí se vám aktuální stav MPD - co se zrovna přehrává.

Dalším klientem je GMPC. Je to můj oblíbený klient, který je trochu natvrdlejší v nastavení (občas něco nejde tak jak by mělo jít), ale je přitom dostatečně malý, užitečný a také jednoduchý. Také disponuje celou řadou šikovných modulů.

Přehrávač GMPCPřehrávač GMPC

O poznání šikovnější je přehrávač Ario. Ten umožňuje kromě obvyklých možností přidávat podobné skladby do seznamu přehrávaných skladeb a v poslední době mi přijde i o dost funkční. U GMPC jako kdyby se vývoj zastavil na mrtvém bodě.

Jako příklad uvedu schopnost stažení textu právě přehrávané skladby nebo obrázku alba. U Aria to funguje samo od sebe, u GMPC to je na hodinu přemlouvání.

Přehrávač ArioPřehrávač Ario

Víc přehrávačů neukážu, zřejmě v tomto patřím k nenáročným uživatelům. Hudba je pro mě kulisou pro práci a příjemným rozjímáním ve chvíli odpočinku. O přehrávač se prostě nechci starat, jen se jím nechávám hýčkat a ve spojení s MPD to je bez větší námahy možné.

Zajímají-li vás další klienti MPD, podívejte se na jejich seznam, budete jistě mile překvapeni. Kromě běžných klientů určených pro desktopová prostředí KDE a GNOME existují také klienti napsaní v Javě, určení pro webový prohlížeč nebo třeba pro Nintendo Wii.

Streamování hudby přes síť

Jak bylo zmíněno na začátku, MPD standardně přehrává hudbu na počítači, na kterém je spuštěn. Ve většině případů to tak bývá přímo místní počítač, na kterém zrovna pracujete (localhost), no a třeba v mém případě to také je pevný počítač, který mám za zády, který je oproti počítači, u kterého sedím, vybaven pěknými bedýnkami atp. Jak ale streamovat hudbu klientům přes místní síť?

Obecně platí, že k tomuto úkolu můžete použít PulseAudio, IceCast anebo nově také vestavěný HTTP streamovací server. Ten se objevil v MPD nově počínaje jeho verzí 0.15, pokud máte starší verzi, doporučuji jeho aktualizaci. My se podíváme právě na tuto možnost použití vestavěného HTTP serveru.

V konfiguračním souboru /etc/mpd.conf je třeba odkomentovat nebo přidat následující řádky:

audio_output {    
	type		"httpd"    
	name		"My HTTP Stream"    
	encoder		"vorbis"		# kódování vorbis (ogg) nebo lame (mp3)
	port		"8000"    
	bitrate		"128"			# datový tok
	format		"44100:16:1"    
}

Po restartování MPD budete moci poslouchat hudbu např. prostřednictvím webového prohlížeče, šikovnějšího přehrávače (např. jiného klienta MPD, atd.) jednoduše zadáním adresy http://pocitac:8000/mpd.ogg nebo kratšího http://pocitac:8000/. Slovo počítač samozřejmě nahraďte jménem nebo IP adresou počítače, na kterém běží server MPD.

Další informace o vestavěné možnosti streamování ven do sítě si můžete přečíst třeba na webu MPD.

Pokud si nyní říkáte, zda bude současně fungovat streamování do sítě a přehrávání na lokálním počítači, pak vás mohu ujistit, že bude. Zvukových výstupů serveru MPD můžete nastavit více, MPD se postará o zbytek. Přeji příjemný a ničím nerušený poslech.

Diskuze (10) Nahoru