Pokazywanie postów oznaczonych etykietą DLNA. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą DLNA. Pokaż wszystkie posty

sobota, 19 grudnia 2009

Instalacja Fuppes - co się odwlecze do nie uciecze

Poprzednim razem opisywałem moje próby instalacji Fuppes. Niestety zakończyły się one niepowodzeniem. Nie dawało mi to spokoju i ponownie spróbowałem swoich sił. I udało się. Opiszę teraz jakie czynności wykonałem, aby proces instalacji przebiegł pomyślnie.

Przypomnę, że kodów źródłowych, które były udostępnione z poziomu następującej strony nie udało się skompilować. Problemy były również, gdy zaciągnęliśmy aktualne źródła Fuppes z SVNa - nie można było przejść etapu konfiguracji przed instalacją (brakowało jednego pliku). Rozwiązaniem wszystkich problemów okazało się ściągnięcie jednej z poprzednich rewizji udostępnianych przez SVNa. Ściągnijmy zatem rewizję 648 za pomocą polecenia: svn co -r 648 https://fuppes.svn.sourceforge.net/svnroot/fuppes/trunk fuppes.


Jak widzimy na powyższym zrzucie ekranu udało się ściągnąć odpowiednie kody źródłowe. Przechodzimy zatem do katalogu fuppes i wywołujemy komendę konfiguracyjną: autoreconf -vfi.

Następnie wydajemy polecenie: ./configure --prefix=/usr, którego pozytywny przebieg potwierdzają wpisy jak na poniższym zrzucie.

Kolejnym krokiem jest kompilacja kodów źródłowych przy pomocy make: sudo make

Następnie musimy wydać polecenia: sudo make install oraz sudo ldconfig

I to by było na tyle jeżeli chodzi o instalację Fuppes. Kolejnym razem opiszę jak wygląda konfiguracja aplikacji oraz sprawdzę jak sprawuje się "w warunkach polowych".

Instalacja Fuppes - opis niepowdzenia

Jak pewnie zauważyliście ostatnimi czasy utworzyłem maszynę wirtualną, której nazwa brzmi: Fuppes DLNA Test. Celem ten maszyny jest hostowanie aplikacji zwanej Fuppes.

Fuppes posiada wiele funkcjonalności spośród których mnie najbardziej interesuje możliwość udostępniania multimedialnych zasobów - czyli pełni funkcję serwera DMS (Digital Multimedia Server).

Zacznijmy od instalacji serwera na maszynie wirtualnej specjalnie przygotowanej na tę okazję. Fuppes można ściągnąć z następującej strony. Rozpakowujemy archiwum za pomocą następującej komendy: tar -xvzf fuppes-0.640.tar.gz. Następnie za pomocą komendy ./configure, którą wykonujemy w katalogu do którego rozpakowało się archiwum, uruchamiamy konfigurację aplikacji. No i mamy pierwszy problem... "no acceptable C compiler found in $PATH". Na szczęście z pomocą przychodzą autorzy aplikacji i dla Ubuntu udostępniają polecenie, które teoretycznie zainstaluje wszystkie wymagane zależności: sudo apt-get install build-essential subversion autoconf automake gettext libtool libpcre3-dev libxml2-dev libsqlite3-dev libfaad-dev libmad0-dev libflac-dev libmagickwand-dev libvorbis-dev libtwolame-dev libmpcdec-dev uuid-dev libavformat-dev libavutil-dev libavcodec-dev libmpeg4ip-dev libmp4v2-dev libtag1-dev libexpat1-dev...

Instalacja zajęła trochę czasu, ale się opłacała. Kolejna próba wywołania konfiguracji aplikacji (./configure) zakończyła się sukcesem. Następnie należy skompilować kod wykorzystując komendę make. Niestety, tym razem natrafiamy na o wiele poważniejszy problem - błąd w kodach. Aplikacja z załączonej paczki się nie skompilowała.

Spróbujemy w takim razie zaciągnąć kody wystawione na SVNie. Mam nadzieje, że teraz uda się wszystko bezproblemowo, a paczka, która wystawiona jest na stronie download szybko zostanie zastąpiona poprawioną wersją.

Zatem najpierw musimy ściągnąć najnowsze kody aplikacji. Można to zrobić następującym poleceniem: svn co https://fuppes.svn.sourceforge.net/svnroot/fuppes/trunk fuppes. "Checked out revision 656" potwierdza, że najnowsze kody źródłowe udało się ściągnąć. W podkatalogu fuppes wykonujemy polecenie autoreconf -vfi. No i ponowny zawód :-(. Polecenie zakończyła się niepowodzeniem zwracając status 1. Wydaje mi się, że w tym miejscu dobiega koniec mojej przygody z Fuppes.

Niestety z racji tego, że ani kody źródłowe udostępnione na stronie w dziale Downlaod, ani kody na SVNie się nie budują, nie mogę przeprowadzić dalej instalacji i czasowa zawieszam próby przetestowania tego rozwiązania.

środa, 2 grudnia 2009

DMS - przegląd rozwiązań programowych

Najważniejszym komponentem projektu DLNA jest Digital Media Server - serwer, który będzie udostępniał pozostałym odbiorcom zasoby multimedialne. Koncepcja projektu zakłada, że wykorzystane zostanie darmowe rozwiązanie do realizacji tej funkcjonalności.

Podczas poszukiwania odpowiedzi na pytanie jakie aplikacje spełniają moje wymagania natrafiłem na stronę: "How to choose DLNA Media Server..." na której zebrano listę komercyjnych i darmowych rozwiązań dla różnych systemów operacyjnych. Robert Green zobowiązał się do aktualizowania listy oprogramowania i z ostatnich wpisów wynika, że ostatnio wykonywał to w czerwcu tego roku. Myślę, że można uznawać ten spis jako dobry punkt zaczepny do wyboru DMS'owego rozwiązania.

Z racji tego, że całe rozwiązanie ma być darmowe oraz w miarę możliwości otwarte z listy eliminujemy programy komercyjne oraz te, które wymagają do swojego działania systemu innego niż Linux. Taka eliminacja redukuje wybór z 24 programów do 9. Na placu pozostały: Cidero Internet Radio Station, Cyber Media Gate, Fuppes, GMediaServer, MediaTomb, MiniDLNA, MythTV, PS3 Media Server i uShare.

Kolejnym kryterium wyboru jest to, aby serwer udostępniał zasoby każdego typu - zarówno muzykę, fotografie jak i filmy. W tym przypadku wszystkie programy spełniały wymagane kryterium.

Jednym z ważnych parametrów podczas wyboru oprogramowania DMS jest transkodowanie. Funkcjonalność ta zapewnia konwertowanie multimedialnego zasobu do postaci, którą aplikacja odgrywająca będzie potrafiła odtworzyć. Z perspektywy zwykłego użytkownika jest to bardzo ważne, aby wszystko działo się automatycznie, aby nie musiał się on wgryzać w specyfikacje kodeków, które obsługuje urządzenie odbiorcze. Oczekuję, że DMS automatycznie wykona konwersję do postaci z którą odtwarzacz nie będzie miał problemów. Takiemu wymaganiu nie sprostały: Cider Internet Radio Station, Cyber Media Gate, GMediaServer oraz uShare. Pewien problem stanowi MiniDLNA. Nigdzie nie znalazłem deklaracji tego czy to oprogramowanie posiada zaimplementowaną funkcjonalność transkodowania. Jednak z pobieżnego czytania kilku wpisów z innych blogów (np. tego) wynika, że nie potrafi sobie poradzić z takim zadaniem, dlatego uznaję, że nie kwalifikuje się ono do dalszego rozpatrywania.

Na placu boju pozostają 4 aplikacje: Fuppes, MediaTomb, MythTV oraz PS3 Media Server.

W kolejnych wpisach spróbuję przybliżyć poszczególne rozwiązania i sprawdzić jak radzą sobie one w komunikacji ze standardowo instalowanymi aplikacjami laptopa Sony VAIO.

wtorek, 1 grudnia 2009

Przegląd architektury Projektu DLNA

DLNA specyfikuje 12 klas urządzeń przydzielonych do 3 głównych grup. Te klasy, które mnie najbardziej interesują to:
  1. DMS (Digital Media Server) - zapewnia funkcjonalność zbierania, nagrywania, udostępniania i chronienia zasobów multimedialnych. Przykładem takich rozwiązań są urządzenia typu NAS z opcją serwera multimediów.
  2. DMP (Digital Media Player) - zapewnia funkcjonalność zlokalizowania DMS'a oraz pobierania zasobów udostępnionych przez serwer w celu ich renderowania. Odbiorniki telewizyjne, zestawy kina domowego, multimedialne telefony to urządzenia, które mogą realizować funkcjonalności DMP
  3. M-DMP (Mobile Digital Media Player) - tutaj sprawa oczywista - jest to mobilna wersja DMP.
  4. M-DMU (Mobile Digital Media Uploader) - w tej kategorii prym wiodą obecnie telefony z funkcją robienia zdjęć i filmów. Wykonane przez nie zdjęcia można wgrać jako multimedialny zasób do DMS.
  5. M-DMD (Mobile Ditigal Media Downloader) - pozwalają ściągnąć zasoby udostępnianie przez DMS i jego mobilnej wersji (M-DMS) oraz odtwarzać je z lokalnej kopii.
  6. M-DMC (Mobile Digital Media Controller) - mobilny odpowiednik DMC do kontrolowania komunikacji pomiędzy DMS a DMP (M-DMS i M-DMP), np.: PDA.
Oprócz powyższych klas wyróżniono jeszcze: DMC, DMR, DMPr, M-DMS, M-NCF oraz MIU. Opis tych klas wraz z ich podziałem na 3 główne grupy znaleźć można pod następującym adresem.

Poniżej przedstawiony jest schemat logiczny poszczególnych elementów, których integrację zamierzam przetestować.
Na poniższym rysunku chciałbym przedstawić jak elementy ukazanego powyżej systemu logicznego DLNA mapują się na konkretne urządzenia, które planuję wykorzystać do testów.
Funkcjonalność DMS zapewni laptop HP z zainstalowanym odpowiednim oprogramowanie serwerowym. DMP 1 to laptop Sony VAIO wraz z preinstalowanymi aplikacjami udostępnianymi przez Sony. DMP 2 to PC na którym zostanie zainstalowany darmowy klient spełniający wymagania DMP. Wymagania M-DMP, M-DMU, M-DMD i M-DMC spełni Sony Ericsson X1 wraz z zainstalowanymi odpowiednimi aplikacjami. Wszystko będzie spięte za pomocą AP i routera w jednym: Asus WL500W.

W kolejnych wpisach postaram się przybliżyć kolejne elementy rozwiązania które chciałbym przetestować.

niedziela, 29 listopada 2009

Projekt DLNA

Czy słyszeliście o możliwości podłączenia odbiornika TV do sieci lokalnej? Pewnie zastanawiacie się czemu miałoby to służyć? Przecież do przeglądania zasobów Internetu idealnie nadaje się zwykły komputer, laptop czy, coraz bardzie popularny ostatnimi czasy, netbook. A co z lokalnie przechowywanymi zasobami multimedialnymi? Czy nie posiadacie dysku zapchanego zdjęciami, filmami czy muzyką? Czy nie chcielibyście szybko i bezproblemowo wyświetlić zdjęcia i filmy na telewizorze? Nie koniecznie przegrywając je na DVD, przenosząc na pamięci USB do czytnika, który podłączony jest do odbiornika? Dlaczego nie miałoby się to odbywać dynamicznie? Dlaczego skupiać się tylko na odbiornikach telewizyjnych? Dlaczego materiały zgromadzone w jednym miejscu nie miałby być udostępnione dla innych urządzeń (laptopów, smartphone'ów, itp.)?

Otóż ktoś już o tym pomyślał i stworzył międzynarodową organizację, której zadaniem jest zapewnienie, aby urządzenia pochodzące od różnych firm potrafiły się dogadać. Organizacją tą jest The Digital Living Network Alliance (DLNA). Głównym jej celem jest standaryzowanie komunikacji pomiędzy urządzeniami w celu zapewnienia współdzielenia zasobów multimedialnych.

Czego dotyczy mój projekt DLNA? Chciałbym w wewnętrznej sieci uruchomić testowo serwer multimediów. Zasoby tego serwera miałyby być współdzielone z innymi urządzeniami. Testowo, z racji tego, że nie jestem posiadaczem telewizora implementującego DLNA biorę pod uwagę komunikację z laptopem Sony VAIO, który posiada odpowiednie oprogramowanie klienckie oraz smartphonem Sony Ericsson X1 (o ile powstało już na system Windows Mobile aplikacje klientów DLNA). Sam serwer będzie uruchomiony na laptopie HP, którego używam na co dzień.

Sam projekt podzieliłem na kilka etapów:
  1. Rozpoznanie możliwości serwerów DLNA
  2. Przygotowanie serwera do działania w sieci lokalnej
  3. Testowanie na laptopie Sony VAIO.
  4. Testowanie na smartphonie Sony Ericsson X1
Docelowo chciałbym wydzielić w domowej sieci lokalnej oddzielny serwer, którego jedną z podstawowych czynności byłoby zapewniania dostępu do zgromadzonych zasobów multimedialnych dla obsługujących standard DLNA urządzeń.