Trochę ponad półtora roku temu opisałem jak zainstalować i skonfigurować OwnCloud na komputerze z systemem Linux (na przykładzie Raspberry Pi). OwnCloud to całkiem solidny kombajn – znajdziemy w nim odtwarzanie filmów i muzyki, kalendarz, kontakty i zadania, aż po dysk internetowy (coś jak DropBox czy Copy).

W dzisiejszym wpisie chciałbym Wam przybliżyć aplikację MPD (Music Player Daemon), która bez problemu zainstalujecie na komputerze czy serwerze z systemem Linux… Ale by tradycji stało się zadość – przykład będzie oparty o Raspberry Pi z systemem Raspbian (Debian). Wprawdzie na dziś zaplanowany był inny wpis, ale jak to często bywa – do publikacji skłonił mnie komentarz jednego z czytelników… Tak więc do dzieła…

MPD (Music Player Daemon)

Jest to malutki program, swego rodzaju lokalny serwera audio, który pozwala nam zdalnie lub lokalnie kontrolować lokalne, lub zdalne odtwarzanie muzyki. Ale może na przykładzie będzie łatwiej zrozumieć o co chodzi:

Odtwarzanie na głośnikach podłączonych do Raspberry Pi

Mamy Raspberry Pi z programem MPD, a do Pi mamy podpięte głośniki – teraz możemy za pomocą MPD wysłać sygnał audio na głośniki, a tym procesem możemy sterować z innego urządzenia za pomocą sieci, bądź bezpośrednio z poziomu konsoli.

Co więcej – odtwarzaniem można sterować z kilku urządzeń (klientów) symultanicznie, i będą one się automatycznie synchronizować. O samych  klientach umożliwiających sterowanie MPD więcej będzie za chwilę…

Odtwarzanie na urządzeniu zdalnym (streaming)

W kilku prostych krokach można zmienić MPD w serwer strumieniowy, dzięki któremu będziemy mogli słuchać muzyki serwowanej prosto z Raspberry Pi na innym urządzeniu (komputerze, telefonie itp.).

O tym więcej również za chwilę…

MPD – instalacja i podstawowa konfiguracja

Jak zwykle – zaczynamy od aktualizacji systemu, po czym instalujemy program:

sudo apt-get install mpd mpc

Wprawdzie naszym głównym bohaterem jest MPD, to od razu można zainstalować MPC (Music Player Command). Jest to „konsolowy” klient dla usługi MPD. A więcej o klientach będzie za chwilę…

I przechodzimy do konfiguracji:

sudo nano /etc/mpd.conf

Konfiguracji jest całkiem sporo, ale ja na początek polecam zainteresować się wpisami:

  • music_directory – katalog z muzyka, można posiłkować się linkami symbolicznymi
  • playlist_directory – katalog z listami odtwarzania
  • db_file – katalog z bazą danych
  • port – port, na którym nasłuchuje usługa dla połączeń od klientów (sterowanie)
  • bind_to_address „any”

Teoretycznie po tej konfiguracji program jest gotowy do działania, choć zanim do tego dojdziemy jeszcze stworzymy plik bazy danych:

sudo touch /var/lib/mpd/mpd.db

Oraz nadamy odpowiednie uprawnienia użytkownikowi „mpd” do „swojego katalogu”:

sudo chown -R mpd /var/lib/mpd

Na koniec restart usługi:

sudo /etc/init.d/mpd restart

Jeśli wszystko jest OK – usługa powinna uruchomić się prawidłowo…

Klient MPD, czyli sterowanie odtwarzaniem

Sam MPD robi za serwer audio, który wysyła dźwięk do odpowiedniego (skonfigurowanego) portu/urządzenia, ale przyda nam się jakiś klient, by tym sterować/zarządzać. Z racji tego, że MPD jest dość popularnym rozwiązaniem, to nie powinniście mieć problemów ze znalezieniem odpowiedniej dla siebie aplikacji.

Od siebie pomogę polecić m.in.:

  • Gnome Music Player Client – aplikacja na komputer, dostępna zarówno dla systemu Windows, jak i Linux/Mac
  • MPC (Music Player Command) – klient MPD działający z poziomu konsoli, sterowanie odbywa się za pomocą poleceń
  • ncmpcpp – kolejny konsolowy klient, choć z bardziej „przyjaznym użytkownikowi” sterowaniem
  • MPDroid – Jedna z lepszych (a może i najlepsza?) aplikacja na urządzenia z systemem Android
  • Klient/skrypt PHP – tu nie mam swojego faworyta, ale chciałem zasygnalizować, że istnieje i taką możliwość

Gnome Music Player Client:

windows_mpd_gnome-music-player-client

Ncmpcpp:

linux_mpd_ncmpcpp

Instalacja aplikacji w systemach Debian/Ubuntu:

sudo apt-get install ncmpcpp

MPDroid:

android_mpd_mpdroid

Listę aplikacji/klientów mpd znajdziecie na tej stronie…

VPN, czyli bezpieczne zarządzanie odtwarzaniem z internetu

Gdy zamierzacie słuchać muzyki przez internet zapewne będziecie chcieli umożliwić sobie sterowanie usługą z internetu.

Wprawdzie można przekierować na routerze port 6600 (domyślny port do kontroli), ale wtedy teoretycznie każdy będzie mógł się połączyć z Waszym urządzeniem i za Was sterować usługą.

W tym wypadku polecam skorzystać z VPNa.

Odtwarzanie lokalne i sieciowe (streaming)

Aplikacje do sterowania tym, co jest odtwarzane mamy już za sobą – teraz pora na efekty, czyli muzykę :-)

Od razu dodam – nic nie stoi na przeszkodzie, by skorzystać z więcej niż jednego „wyjścia audio”, czyli można naraz strumieniować audio „w świat” i zarazem odtwarzać na głośnikach wpiętych bezpośrednio do urządzenia.

Pamiętajcie też, by po każdej zmianie konfiguracji zrestartować usługę:

sudo /etc/init.d/mpd restart

Alsa, czyli odtwarzanie lokalne

Standardowo MPD wysyła sygnał audio na lokalne wyjście audio (np. gniazdo głośników), i odpowiada za to np. taka konfiguracja w „mpd.conf”:

audio_output {
type        "alsa"
name        "My ALSA Device"
device        "hw:0,0"    # optional
format        "44100:16:2"    # optional
mixer_device    "default"    # optional
mixer_control    "PCM"        # optional
mixer_index    "0"        # optional
}

Jeśli korzystasz z Raspberry Pi przeczytaj jak zarządzać/sterować wyjściem audio w systemie Raspbian…

Https, czyli odtwarzanie strumieniowe

Nic nie stoi też na przeszkodzie, by na bazie MPD zrobić swoje prywatne radio internetowe, tj. słuchać odtwarzanej muzyki z dowolnego urządzenia, przez sieć LAN czy internet.

Za aktywację strumieniowania audio odpowiada np. taka konfiguracja w „mpd.conf”:

audio_output {
type        "httpd"
name        "My HTTP Stream"
encoder        "lame"        # optional, vorbis or lame
port        "8000"
#    quality        "5.0"            # do not define if bitrate is defined
bitrate        "128"            # do not define if quality is defined
format        "44100:16:2"
}

Taki zapis umożliwi odtwarzanie muzyki za pośrednictwem przeglądarki internetowej i/lub dowolnego programu, który pozwala na strumieniowe odtwarzanie audio ze wskazanego adresu URL.

Podstawowy adres audio:

http://Twoje_publiczne_IP:8000

Gdy zamierzacie słuchać muzyki przez internet pamiętajcie by odblokować odpowiedni port na Waszym routerze.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk