Za nami m.in. artykuł jak montować dyski (i zasoby sieciowe), mamy już też informacje jak zrobić z Raspberry Pi serwer plików. Dziś będzie o multimediach – konkretnie jak postawić na Raspberry Pi serwer DLNA. A jeśli konfiguracja Samby, czy serwera WWW już za Wami, to dziś będzie to właściwie jak mały spacerek w piękny wiosenny dzień… :-)

Serwer multimediów miniDLNA

Za skorzystaniem w tym celu z miniDLNA przemawia kilka spraw:

  • Jest bezpłatny
  • Jeśli korzystacie z Rasbiana instalacja jest właściwie automatyczna
  • Prostota konfiguracji
  • I na koniec: po prostu działa

Instalacja

Zaczynamy od instalacji (wcześniej można zrobić aktualizację), a robimy to za pomocą komendy:

sudo apt-get install minidlna -y

raspberry-pi_minidlma_01

Po instalacji pora na…

Konfiguracja

Zaczynamy od otworzenia (do edycji) pliku konfiguracyjnego:

sudo nano /etc/minidlna.conf

I jak to często bywa – opcji można ustawić więcej niż potrzeba, dlatego przedstawię „tylko” to co niezbędne. Może trochę więcej…

Krótkie przypomnienie:

  • Opcja nieaktywna: #komenda
  • Opcja aktywna: komenda

Katalog z plikami:

media_dir=/var/lib/minidlna

Tu podajemy ścieżkę, może to np. być:

media_dir=/media/usb1

Można też rozdzielić zasoby zależnie od rodzaju plików, jakie mają się tam znajdować, wtedy z konkretnego zasobu będą wyświetlane tylko odpowiednie typy:

  • A jak… Muzyka (Audio): media_dir=A,/media/usb1/muzyka
  • P jak… Zdjęcia (Pictures): media_dir=P,/media/usb1/foto
  • V jak… Wideo (Video): media_dir=V,/media/usb1/filmy

Nazwa, pod jaką będzie się zgłaszać (wyświetlać) urządzenie:

friendly_name=RPi01 DLNA

Przy okazji można też aktywować (odkomentować):

model_name=Windows Media Connect compatible (MiniDLNA)

Automatyczne (o ręcznej aktualizacji będzie niżej) aktualizowanie listy plików:

# Aktywacja
inotify=yes

# Co ile, w sekundach
notify_interval=895
Jest spora szansa, że mimo ustawienia automatycznego odświeżania plików nic się nie wydarzy, tzn. nowe pliki nie będą widoczne.

Rozwiązaniem może być dodanie linijki:

fs.inotify.max_user_watches=32768

W pliku:

sudo nano /etc/sysctl.conf

Gdyby (po restarcie Raspberry Pi) lista plików nadal się nie odświeżała automatycznie, spróbujcie wpisać jeszcze większą wartość, np. 100000 (zamiast 32768).

Inną – alternatywną metodą – jest skorzystanie np. harmonogramu zadań (CRONa), za pomocą którego np. w nocy odświeżycie listę plików:

sudo minidlnad -R
sudo service minidlna restart

Pozostałe opcje (m.in. port, katalog przechowywania logów, czy bazy danych) można zostawić, tak jak jest to domyślnie.

Uruchamiamy serwer DLNA

Najpierw dodajemy obsługę serwera DLNA do „autostartu”, tak by uruchamiała się automatycznie z systemem:

sudo update-rc.d minidlna defaults

Następnie uruchamiamy sam serwer:

sudo service minidlna start

Sterowanie serwerem

Przy pierwszym uruchomieniu, jak i po każdej (większej) zmianie zawartości udostępnionych dysków warto też zaktualizować (ręcznie) bazę danych serwera DLNA:

sudo minidlnad -R
Instalując ostatnio miniDLNA na nowym systemie (reinstalacja, Debian 8 Jessie) zauważyłem, że nie działa np. polecenie „minidlna -R”, które jeszcze dzień wcześniej działało (Debian 7 Wheezy).

Szybka analiza wykazała, że w/od tej wersji miniDLNA zamiast „minidlna” w niektórych przypadkach należy wpisać „minidlnad” – dlatego wprowadziłem odpowiednie poprawki do tego wpisu.

I – dla pewności – restart:

sudo service minidlna restart

raspberry-pi_minidlma_02

Podstawowe komendy

  • Edycja ustawień: sudo nano /etc/minidlna.conf
  • Start serwera: sudo service minidlna start
  • Zatrzymanie serwera: sudo service minidlna stop
  • Restart serwera: sudo service minidlna restart
  • Aktualizacja bazy danych: sudo minidlnad -R (dawniej sudo minidlna -R)
  • Wersja serwera: sudo minidlnad -V (dawniej sudo minidlna -V)
  • Pomoc: sudo minidlnad -h (dawniej sudo minidlna -h)
  • Plik log: /var/log/minidlna.log (np. 'cat /var/log/minidlna.log’ lub 'less /var/log/minidlna.log’)

Podsumowanie

W tym momencie można już korzystać z serwera DLNA zainstalowanego (i skonfigurowanego) na Raspberry Pi. Może to być konsola, telewizor, czy inne urządzenie obsługujące (jako klient) standard DLNA.

Jeśli urządzenie (klient) wspiera – bez problemu razem np. z plikiem wideo są przesyłane napisy (testowałem format .srt), i nie ma problemu z „polskimi znakami” (ale to już zależy od klienta).

Serwer DLNA na Pi będzie się zgłaszał pod nazwą, jaką podczas konfiguracji mu ustawiliśmy:

raspberry-pi_lg-dlna002_rpl_1920

Do kompletu warto też zainstalować (jeśli jeszcze tego nie zrobiliście) serwer Samba (SMB), tak by móc uzyskać dostęp do plików również na urządzeniach, które nie obsługują (lub nie muszą) DLNA.

Samba przyda się też do zarządzania archiwami znajdującymi się na Pi… Choć tu można też wykorzystać WinSCP (zdalnie), a nawet Midnight Commander (lokalnie).

Zobacz wszystkie artykuły z serii „Raspberry Pi”

(!) 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