Witam, ja walczyłem z serwerem DLNA dla telewizora
Samsung LE32B650. Przerobiłem kilka serwerów opartych na Java,
Fuppes, Media Tomb, XBMC i MiniDLNA.
Teraz wrażenia.
Ze względu na to, że głownie zależało mi na dość prostym udostępnieniu własnych zasobów anie na transkodowaniu materiału strumieniowego, szukałem czegoś małego i lekkiego. Na forum elektroda, podczas poszukiwania telewizora, natknąłem się na opis
Fuppes, więc od niego zacząłem zabawę.
Po kompilacji i pierwotnym skonfigurowaniu, uruchomiłem program i zajrzałem do TV. Myślę sobie fajnie wszystkie udostępnione katalogi widać. No to na pierwszy ogień poszły zdjęcia. Wszystko OK, więc sprawdziłem filmy (jeśli gdzieś miał by być problem to pewnie właśnie tu). Pierwszy z brzegu .avi Xvid ruszył bez szemrania. Ale zauważyłem, że niestety nie wczytuje napisów (niezależnie od ich formatu). Drógie zdziwienie nastąpiło po próbie odpalenia filmu .mkv (natywnie obsługiwanego przez TV) dostałem komunikat o nieobsługiwanym formacie pliku - hmmy?
OK, no to została jeszcze kwestia muzyki.... ZONK nie działa nic, ani mp3 ani Ogg.
Zacząłem szukać rozwiązania, fora fuppes, forum.ubuntu.com i google. Kilkakrotna kompilacja w tym kompilacja ffmpeg. Częściowy sukces. Częściowy bo ze względu na jakiegoś bug-a w Ubuntu 9.10 nie da się wszystkiego rozwiązać. W starszych wersjach i najnowszej Alfie poszło by ale nie w 9.10. Do tego nigdzie nie znalazłem rozwiązania problemu napisów do filmów, tak więc stwierdziłem, że trzeba poszukać czegoś innego.
No to przyszedł czas na
Media Tomb i XBMC. Generalnie chodzą, choć mój TV jakoś nie mógł odczytać strumieni z żadnego z wymienionych programów. Ponadto Media Tomb nie grzeszył stabilnością. Przyznam, że nieco zmęczony Fuppes (to ciągle ta sama noc

).
Stwierdziłem, że trzeba mi czegoś z graficznym GUI (nie Webowym).
Po kilku (zdaje się dwóch) nieudanych próbach trafiłem na Javowy, wieloplatformowy programik
PSM3MS dedykowany dla
Sony PS3, ale polecony przez urzytkownika
Xboxa.
I tu pierwszy całkowity sukces, przynajmniej jeśli chodzi o odważanie wszelakich mediów (transkodowanie) i napisy do filmów. Właściwie mam jedno zastrzeżenie do tego programu. Chodzi o jego responsywność w sieci.
Kiedy wchodzę z mojego TV na serwer Fuppes do katalogu z filmami to wyświetlenie jego zawartości trwa powiedzmy 10 sekund. Kiedy, natomiast wchodzę na serwer PS3MS do tego samego katalogu, wyświetlenie jego zawartości trwa ok. 25 - 30 sek.
Ok podam jeszcze jedną informację, która może mieć wpływ na postrzeganie tej mini recenzji. Wszystkie te programiki były przeze mnie testowane na netbooku
Acer Aspire One 150bb więc na niezbyt mocnej maszynce (Linux Mint rozmyślnie ze standardowym jądrem i bez specjalnych tuningów).
Teraz jeśli chodzi o zasobożerność. Ani
Fuppes,
Media Tomb ani Javowy
PS3MS w trakcje strumieniowania materiału w postacji "divix-ów" (.avi, .mkv, mp4) 720p nie wykazywały większego obciążenia procesora niż max. 30%.
Ostatni opisywany program, spełniał właściwie wszystkie moje wymagania poza responsywnością. Ta cecha zaważyła jednak nad kontynuowaniem poszukiwań lżejszego i szybszego serwera.
Tak trafiłem na
MiniDLNA.
Z perspektywy kilku dni mogę powiedzieć, że to był strzał w dziesiątkę.
Ale, aby nie było za różowo, to powiem, że on też nie jest idealny.
Ale do rzeczy. Po pierwszym ściągnięciu paczki tar.gz i rozpakowaniu jej byłem nieco skonfundowany. Zero pliku
README, na stronie projektu dosłownie zero informacji o instalacji, konfiguracji (no o tym może troszkę).
Generalnie do bani. Ani to odpalić ani używać - poszło do kosza.
Ale buszując po różnych wątkach w
forum.ubuntu.com i innych zakamarkach sieci, co róż natykałem się na opinie w stylu "no wreszcie działa" czy "pierwszy który po prostu działa".
Więc myślę sobie, Ok przeca dam se radę

No i ściągnąłem go jeszcze raz.
Poszperałem i znalazłem sposób na instalację. Odpaliłem i działa. Ale działa jak cholera. Na procku nie widać nawet drgnięcia. Wyświetlenie zawartości tego samego katalogu co w przypadku
Fuppes czy
PS3MS trwa ok 2-3 sekundy. Odtwarza to co natywnie widzi TV (jak mówiłem transkodowanie nie było dla mnie priorytetem, aczkolwiek ma jakąś opcję dotyczącą mp3!?) napisy do filmów chodzą (format .srt tak jak natywnie widzi mój TV).
Nie ma, a szkoda, możliwości konfiguracji pozycji czy koloru napisów, ale może w przyszłości się coś takiego pojawi. Zresztą w PS3MS mimo opcji kolorowania napisów jakoś to nie działało.
A teraz coś co mnie mocno zaskoczyło.
Otóż szukając serwera DLNA dla moich celów miałem świadomość, że żaden, poza serwerkiem od
Samsunga który jednak z
Wine się nie lubi), serwer nie da mi możliwości przewijania filmów.
Ale MiniDLNA daje taką możliwość. Działa przewijanie, a właściwie skok do przodu i w tył. Ale jest to znacznie więcej niż oczekiwałem. Dodam jeszcze, że przy filmach .mkv to nie działa. Ale nie działało mi to też na serwerze od Samsunga.
Podsumowując. Dopóki nie będę miał przymusu wykorzystywania transkodowania (zakup PS3 ?), pozostanę przy minidlna.
A może ten mały programik się troszkę rozwinie nie tracąc przy tym na swojej responsywności i zasoborzerności?
Wszystko jest możliwe

Miłej zabawy.
PS' Konfiguracja
MiniDLNA
Ściągamy archiwum .tar.gz ze strony projektu
http://sourceforge.net/projects/minidlna/files/ i rozpakowujemy. W środku mamy dwa katalogi
etc i
usr/sbin.
W pierwszym znajduje się plik
minidlna.conf który należy przenieść do katalogu
/etc/ w naszym systemie.
W drugim jest binarka programu
minidlna krórą należy przenieść do katalogu
/usr/sbin w naszym systemie.
Teraz jeśli chcemy aby możliwe było przeglądanie konkretnych katalogów a nie całego
/home (
zalecane, aby serwer przedstawiał się przyjazną nazwą itp., należy zmodyfikować dość krótki plik konfiguracyjny (który umieściliśmy w katalogu /etc/)
sudo gedit /etc/minidlna.conf
port=8200 - możemy ustalić na jakim porcie pracuje serwer
#network_interface=eth0 - jeśli możemy ustalić z jakiego interfejsu sieciowego mak korzystać serwer (domyślnie - z aktualnie aktywnego)
set this to the directory you want scanned - tu określamy które katalogi udostępniamy i jako jaki rodzaj mediów A- audio, V- wideo, P- obrazy
Nowe katalogi podajemy w formie np. dla katalogu z muzyką media_dir=A,
/home/użytkownik/Katalog_z_muzyką
#friendly_name= - możemy określić "przyjazną" nazwę naszego serwera np.
friendly_name=Michał DLNA Serwer
#db_dir=/var/cache/minidlna - pozwala określić własną ścieżkę do pliku bazy danych. Standardowo program tworzy ją w katalogu
/tmp/minidlna
/Jeśli wystąpią jakieś problemy z działaniem programu, np. pokazuje katalogi których nie powinien był pokazywać a pokazuje je gdyż uruchomiliśmy serwer przed konfiguracją pliku /etc/minidlna.conf - należy wyłączyć serwer i usunąć właśnie katalog /tmp/minidlna. Po ponownym uruchomieniu serwera baza zostanie odbudowana/
inotify=yes - czy baza ma być uaktualniana po zmianie zawartości katalogów. Domyślnie ustawione na tak
strict_dlna=no - dla produktów firmy SONY (zapewne też Xbox-a) umożliwia przeskalowywanie plików .jpg i mp3 tak aby mogły być odtworzone na użądzeniu.
#presentation_url=http://www.mylan/index.php - opcja właściwie nieistotna. W przyszłości być może będzie umożliwiać przeglądanie udostępnionych zasobów poprzez przeglądarkę www, jednak jak sam autor stwierdził, raczej nie będzie tej funkcji rozwijał gdyż większość urządzeń jak PS3, Xbox, Telewizory, etc. nie korzysta z tej funkcji. (zdefiniowanie tej opcji działa o tyle, że serwer rejestruje połączenie na wskazany adres, jednak w przeglądarce zobaczymy informację, że strona nie istnieje)
Serwer uruchamiamy komendą
minidlna -f /etc/minidlna.conf -d
gdzie parametr
-f wskazuje na położenie pliku konfiguracyjnego, a parametr
-d uruchamia nasz serwer w trybie debugowania umożliwiając obserwację (zwłaszcza przy pierwszych uruchomieniach) co się dzieje i czy np. nie sypie jakimiś błędami.
Tak więc jeśli chcemy dodać nasz już dopieszczony serwer do programów startowych, lub po prostu uruchomić go jako
demona wydajemy polecenie
minidlna -f /etc/minidlna.conf
EDIT:
Powstało nieoficjalne repozytorium z MiniDLNA - oczywiście po instalacji należy skonfigurować plik /etc/minidlna. Warto też zrobić sobie jego kopię przed instalacją z repo.
Dla Ubuntu 9.10
ppa:stedy6/stedy-minidna
Dla pozostałych edycji Ubuntu
Signing key:
1024R/661F5D0B
Fingerprint:
E305A240A539955834A8688F37B80A84661F5D0B