Udostępnianie zasobów multimedialnych przy pomocy DLNA
Ostatnia zmiana: 2015-05-07 08:10

DLNA jest standardem umożliwiającym współdzielenie zasobów multimedialnych (filmy, muzyka i zdjęcia) między urządzeniami szeroko pojętej elektroniki użytkowej. Serwerów DLNA jest kilka jednak korzystanie z nich ma zwykle kilka ograniczeń:
- problem z napisami. To czy wyświetlone zostaną napisy zależy od urządzenia odbiorczego np. telewizora. Często nowoczesne TV obsługują napisy w formacie srt.
- brak konwersji formatu. Film jest tylko strumieniowany, więc czy zostanie zdekodowany i wyświetlony zależy znów od urządzenia odbiorczego. Może się okazać że TV obsługuje tylko pliki formatu MP4 a nie avi.
- różne inne problemy, typu brak przewijania ale to znów zależy od urządzenia odbiorczego.
- najpoważniejszy problem: standard DLNA przewiduje obsługę tylko kilku formatów plików i jeżeli TV jest certyfikowany (a zapewne jest) to nie obsłuży innych formatów (zwykle wyświetla informacje o niewłaściwym formacie pliku), mimo że po podłączeniu nośnika do usb normalnie ten film wyświetli. Jeżeli chcesz oglądać wszystkie formaty to potrzebujesz jakiegoś serwera dlna z transkodowaniem materiału - ale nie na router bo on jest za słaby na taki mechanizm.

Najbardziej obiecującym serwerem DLNA dla OpenWrt jest minidlna. Instalujemy go poleceniem:


    # opkg update
    # opkg install minidlna

Zostanie zainstalowane dużo pakietów w zależnościach; może okazać że nie starczy miejsca we flash i niezbędne okaże się wykonanie extroot'a w celu zapewnienia większej ilości miejsca na pakiety.

Konfiguracja zwarta jest w pliku /etc/config/minidlna i można ją ustawić wykorzystując uci.

Dla Gargoyle dostępny jest odpowiedni pakiet który można zainstalować: plugin-gargoyle-minidlna, dla LuCI - luci-app-minidlna. Oba umożliwiają graficzną konfigurację minidlna. Jeżeli jednak nie używamy wspomnianych środowisk graficznych lub chcemy skonfigurować ręcznie, należy ustawić kilka opcji:

  • media_dir, domyślnie wskazuje na /mnt. Należy podać katalog w którym są filmy czy muzyka (w OpenWrt dyski montowane są domyślnie w /mnt, w Gargoyle w /tmp/usb_mount).
  • db_dir, należy ustawić taki sam katalog jak media_dir (powinien wskazywać katalog na dysku, domyślnie jest to pamięć routera, a jej może zabraknąć jeżeli ma się większą kolekcję multimediów).
  • enabled na 1, tylko jeżeli wykonujemy to w pliku /etc/config/minidlna
Po przełożeniu na uci (dla przykładu - nośnik jest w /mnt/sda1, tam też będą pliki logów i baza danych filmów):


    # uci set minidlna.@minidlna[0].enabled=1
    # uci add_list minidlna.@minidlna[0].media_dir=/mnt/sda1
    # uci set minidlna.@minidlna[0].db_dir=/mnt/sda1/_minidlna
    # uci set minidlna.@minidlna[0].log_dir=/mnt/sda1/_minidlna
    # uci commit minidlna

Uruchomienie sprowadza się do wykonania poleceń:


    # /etc/init.d/minidlna enable
    # /etc/init.d/minidlna start

Jeżeli wprowadzimy w przeglądarce adres routera z portem 8200 (domyślnie: http://192.168.1.1:8200/) to powinna wyświetlić się strona informacyjna minidlna z ilością zeskanowanych plików multimedialnych.