Raspberry Radio

Dziś zajmiemy się transmisją muzyki na odległość. W tym poście przedstawiam pierwszy sposób, czyli…

Radio internetowe

Korzystamy ze starej, chociaż już może trochę zapomnianej (w dobie Spotify i Youtube) metody, czyli streamowania muzyki przez sieć. Na Raspberry Pi zainstalujemy oprogramowanie i przegramy muzykę, a w komputerach “odbiorczych” wystarczy program odtwarzający strumienie.

Lista rzeczy niezbędnych:

Instalacja oprogramowania

Dla wygody założę, że Raspberry ma adres IP: 192.168.0.10.

Logujemy się przez ssh na Raspberry Pi (login:pi, hasło: raspberry):

$ ssh pi@192.168.0.10

I instalujemy oprogramowanie:

$ sudo aptitude install icecast2 mpd mpc

W końcowej fazie instalacji system zapyta nas, czy chcemy skonfigurować Icecasta, odpowiadamy twierdząco i w kolejnych krokach podajemy hasła, którymi zabezpieczamy Icecast. Radzę zapamiętać hasła, będziemy ich potrzebować, ale jeśli się nie uda, to wszystko jest zapisane otwartym tekstem w pliku /etc/icecast2/icecast.xml ;).

To tyle, jeśli chodzi o Icecast2. Przejdźmy teraz to źródła dźwięku, którym będzie mpd.

Konfiguracja

Edytujemy plik /etc/mpd.conf i wyszukujemy wszystkie sekcje audio_output. Każdą z nich musimy zakomentować - nie potrzemujemy więcej niż jednego wyjścia dźwięku. Znajdujemy audio_output z typem shout i dokładnie tą sekcję odkomentowywujemy.

Nastepnie przeprowadzamy jej mały tuning:

audio_output {
  type            "shout"
  name            "PiRadio MPD"
  description     "PiRadio MPD"
  host            "localhost"
  port            "8000"
  mount           "/mpd"
  password        "HASŁO ICECAST SOURCE"
  bitrate         "128"
  format          "44100:16:2"
  encoding        "mp3"
}

To co nas w tym momencie interesuje to password - podajemy dokładnie takie, jak podaliśmy w konfiguracji Iceauth2.

Restartujemy demona mpd:

$ sudo /etc/init.d/mpd restart

lub

$ sudo service mpd restart

W tym momecie powinniśmy mieć działający system streamingu.

Sprawdzamy jeszcze dostępne wyjścia dźwięku:

$ mpc outputs
Output 1 (PiRadio MPD) is enabled

I jeśli nasze PiRadio MPD jest disabled to należy je odblokować:

$ mpc enable 1

Uprawnienia

Sprawdzamy updawnienia naszego użytkownika (konkretnie czy jest w grupie audio).

$ groups
pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c sp

Jeśli z jakiegoś powodu na powyższej liście nie ma audio należy zmodyfikować grupy:

$ sudo usermod -a pi -G audio

Następnie w domyślnym katalogu biblioteki audio mpd /var/lib/mpd/music ustawiamy odpowiednie prawa zapisu dla grupy audio:

$ sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
$ sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/

Pliki audio

Do katalogu /var/lib/mpd/music/ przegrywamy pliki muzyczne i wykonujemy sekwencję:

$ mpc update
$ mpc ls | mpc add

Co powoduje dodanie wszystkich plików do playlisty

Nastepnie uruchamiamy zapętlone odtwarzanie:

$ mpc repeat on

I w końcu włączamy odtwarzanie:

$ mpc play

W naszych uszach powinna zabrzmieć… błoga cisza, bo dźwięk jest stramowany przez sieć ;).

Wchodzimy z poziomu przeglądarki na adres http://192.168.0.10:8000 i oczom naszym powinien ukazać się działający serwer Icecast2. Wystarczy skopiować widoczny tam link m3u (przykładowo http://192.168.0.10:8000/mpd.m3u) i wkleić np. do playera VLC (Ctrl + n).

W tym momencie nasze piosenki powinny być odtwarzane w playerze.

Kolejne podtwarzacze należy podłączać do naszego stramingu analogicznie.

comments powered by Disqus