V této konfiguraci ovládáme MPD opět z notebooku/pc (např. aplikací GMPC) příp. mobilu/tabletu s Androidem (např. aplikací M.A.L.P.), databázi písniček a samotné MPD pak máme ve virtuálním serveru bez zvukové karty a zvuk posíláme do samostatného PC s připojenými reproduktory. Pro základní konfiguraci MPD se může opět jednat o starší slabší PC bez monitoru, podmínkou je pouze přítomnost fyzické zvukové karty, aby bylo kam vlastně připojit repro.
Jelikož se jedná o demonstraci konfigurace, tak virtuální server má svoji podsíť a jeho IP adresa se na routeru překládá na veřejnou IP adresu. Tato konfigurace má svůj smysl, když virtuální server hostí Vaši databázi písniček a videoklipů a ještě např. www stránky. Může taky hostit music server Ampache a pak máte svoji sbírku přístupnou k poslechu kdekoliv (o Ampache někdy příště).
Úskalí této konfigurace jsou dvě – jednak virtuální server, který je jako guest na HW serveru bez zvukové karty (např. malá serverová základní deska Intel řady S1200 neobsahující HW zvuk. kartu) a druhák, že subnet s notebookem a spol. bude kvůli přístupu na internet taky překládán na veřejnou IP adres (s čímž má problém MPD).
Konfigurace virtuálního serveru 192.168.10.10 :
Zvuková karta – v uvedené konfiguraci zvuková karta (ani virtuální) není zapotřebí. Stačí nainstalovat jen MPD, který si potřebné balíčky doinstaluje sám. Výstup MPD nasměrujeme pomocí TCP modulu do jiného stroje, takže na virtuálním serveru 192.168.10.10 opravdu nemusí být zvuk. karta, nainstalována ALSA nebo Pulseaudio (libpulse0 si MPD instaluje sám). Toto úskalí je tedy pouze psychologického rázu – jak můžeme přehrávat z něčeho, co neobsahuje zvuk. kartu …
Přístup k MPD – tady pozor, nestačí mít správně nakonfigurovanou síť vč. výchozích bran. Potíž může být v tom, že existuje v síti router, který (z důvodu přístupu do internetu) bude asi překládat subnet 192.168.0.0/24 na veřejnou IP adresu (src-nat 192.168.0.0/24 => to public address). Jako router mám Mikrotik a musel jsem přidat pravidlo, že se subnet 192.168.0.0/24 nepřekládá, pokud je cílová IP adresa v rozsahu subnetu 192.168.10.0/24 (src-address 192.168.0.0/24 dst-address !192.168.10.0/24 => to public address).
Jak na tom jste se můžete přesvědčit následovně – z notebooku 192.168.0.100 se pomocí terminálu přihlásíte k virtuálnímu serveru 192.168.10.10 a zadáte příkaz :
loginctl show-session $XDG_SESSION_ID | grep RemoteHost
a pokud je odpovědí (v tomto případě) :
RemoteHost=192.168.0.100
pak je vše v pořádku. Pokud je ovšem místo IP adresy notebooku uvedena u RemoteHost veřejná IP adresa, na kterou se překládá celá síť 192.168.0.0/24, pak MPD bude hlásit chybu.
Nyní si na virtuálním serveru 192.168.10.10 nakonfigurujeme v /etc/mpd.conf audio výstupy :
# výstup pro server s HW zvuk. kartou 192.169.0.20
audio_output {
type "pulse"
name "Pulse TCP 192.168.0.20"
mixer_type "software" # optional
server "192.168.0.20" # optional
}
# výstup pro notebook 192.168.0.100
audio_output {
type "pulse"
name "Pulse TCP 192.168.0.100"
mixer_type "software" # optional
server "192.168.0.100" # optional
}
Konfigurace PC ~ serveru 192.168.0.20 :
PC – server má fyzickou zvukovou kartu, do které jsou připojeny reproduktory, nainstalováno Pulseaudio a Paprefs.
Jelikož k PC ~ serveru nemáme připojen monitor, přihlásíme se z notebooku 192.168.0.100 prostřednictvím terminálu a přesměrujeme si grafický výstup do notebooku
ssh -c aes256-ctr -XC pepa@192.168.0.20
a po zadání hesla a zalogování spustíme paprefs
paprefs
kde nastavíme přístup ze sítě pro Pulseaudio na PC ~ serveru 192.168.0.20
Pokud si budeme chtít nechat posílat hudbu z MPD i na notebook 192.168.0.100, musíme stejným způsobem pomocí paprefs povolit přístup ze sítě pro Pulseaudio i na notebooku.
Nakonec si na notebooku (192.168.0.100) v klientské aplikaci např. GMPC (pro notebook) nebo M.A.L.P. (pro Android) nastavíme profil pro tuto konfiguraci a po připojení můžeme aktivovat/deaktivovat nakonfigurované výstupy MPD – tedy určovat, kam má MPD zvuk posílat, resp. kde co bude hrát.
Toť vše … tak ať to hraje :-).
MPD – konfigurace obecně
MPD – konfigurace varianty č. 1
MPD – konfigurace varianty č. 2