DLNA, Android a Linux

14. 2. 2011 17:53 Jan Kulhánek

Bude tu řeč o síťovém přenosu multimediálních dat pomocí DLNA do televize, která tento „protokol“ nepodporuje. Nejprve stručně popíšu, co je DLNA a jak funguje, pak se zaměřím na relativně novou krabičku HTC Media Link, kterou jsem si nechal poslat z UK a důkladně jí otestoval. Nakonec se podíváme na její použití s Androidem a Linuxem.

Digital Living Network Alliance (DLNA) není vlastně protokol, ale označení společenství, iniciované firmou Sony v roce 2003. To si dalo za cíl vytvořit standardy pro snadné sdílení hudby, fotografií a videa pro běžného uživatele. Dnes existují tisíce zařízení s tímto certifikátem, jde o videokamery, fotoaparáty, multimediální přehrávače, televizory, hi-fi sestavy a domácí kina, ale i mobilní telefony a herní konzole. Bohužel existuje už několik generací DLNA, takže ne všechna zařízení jsou se všemi kompatibilní.

Existuje několik tříd zařízení, z nichž můžeme poskládat domácí síť:

  • Digital Media Server (DMS) spravuje mediální obsah, může to být domácí počítač, ale i mobilní zařízení se spuštěnou službou serveru
  • Digital Media Player (DMP) vyhledá obsah na serveru a zajistí jeho přehrávání (stream), bývá to TV s podporou DLNA, umí to Sony PlayStation a řada multimediálních přehrávačů
  • Digital Media Renderer (DMR) přehrává mediální obsah, který dostane od Controlleru (DMC) metodou „push“, například právě HTC Media Link
  • Digital Media Controller (DMC) podobně jako DMP vyhledá mediální obsah na serveru, ten pak posílá do DMR, sám nic nepřehrává – tak mohou fungovat např. některé telefony s Androidem

Jsou i další třídy zařízení (mobilní uploadery, downloadery, printery), ale pro běžné potřeby si vystačíme s tímto. Podrobnější informace najdete na wiki, pro zajímavost přikládám různá zapojení v přehledné formě:

Ještě chci upozornit na to, že z mobilního telefonu ani jiného zařízení kromě fotek, hudby a videa nic jiného pomocí DLNA do TV nepošlete – žádné sdílení plochy, žádné prezentace z PowerPointu, hlavně ty prezentace mě mrzí (občas učím, nenosit notebook, ale jen Media Link a mobil by bylo geniální). V počítači by to možná šlo vyřešit tak, že by se obraz streamoval do některého z podporovaných formátů a tento soubor by už server s určitým zpožděním nabízel ke sdílení, nikde jsem o tom nic ale nevyčetl. Prezentaci bychom mohli vyexportovat např. do podporovaného mp4 a pouštět s pauzami prostě jako video…

HTC Media Link patří do kategorie DMR, tedy renderer, který zobrazuje pomocí kabelu HDMI mediální obsah, který získá od kontroleru přes WIFI síť. Umí se připojit ke stávající síti nebo (defaultně) funguje jako zabezpečený WIFI HotSpot. Toto a několik dalších věcí (zvolit češtinu, rozlišení výstupu,…) můžete nastavit v internetovém prohlížeči počítače či telefonu.

Koncem roku 2010 mě zaujala tato minirecenze, po několikadenním surfování jsem si Media Link zakoupil na Clove Technology za cca 2500 Kč. Není to málo peněz a trochu jsem kupoval zajíce v pytli, protože dostupných informací nebylo mnoho a některé nebyly skoro vůbec – např. jak bude tato krabička komunikovat s linuxem.

K zakoupení tohoto přístroje mě vedly dvě věci – delší dobu jsem přemýšlel jak bezdrátově přehrávat videa z počítače na TV a pár měsíců mám HTC Desire HD, který nemá HDMI výstup. Takže když jsem objevil Media Link, který by mohl bezdrátově přehrávat média z počítače i mého mobilu, zajásal jsem!

=p

Media Link dorazil po zakoupení v e-shopu asi za týden. Jak je vidět, jedná se o malé zařízení, menší než mobilní telefony, pro které je primárně určeno – HTC uvádí Media Link jako doplněk k telefonům Desire HD  a Desire Z, které nativně DLNA podporují a mají předinstalovaný program Připojená média (na Marketu je ovšem řada jiných aplikací, které dobře fungují i na jiných značkách mobilních telefonů a umí toho víc, o nich ale později).

Součástí balení je kromě zařízení HDMI kabel, adaptér se zástrčkou, kterou využijete při cestě do Velké Británie a manuál. Naštěstí je adaptér klasický microUSB, takže jsem si koupil za stovku jiný. První zapojení a spárování s telefonem (připojení telefonu k wifi s názvem HTC Media Link) proběhlo velmi hladce bez otevření manuálu. Stejně tak připojení z počítače, nastavení češtiny a domácí wifi.

Android jistě nebude jediná mobilní platforma, podporující DLNA, ale zůstanu u ní, s jinou v tomto směru zkušenosti nemám.

Ve spojení s HTC Media Linkem slouží telefon jako kontroler – pomocí již zmíněné aplikace Připojené média prostě pošlete mediální obsah a ten se během chvilky zobrazí v TV. Mé první nemilé překvapení bylo, že ne každé video si takto přehraju – nešlo jen o kodek, ale i nastavené parametry kodeku videa. Když jsem zkoušel z Marketu jiné aplikace, byla podpora video kodeků ještě horší. Některé programy jsem si ale nechal a ty dostávaly upgrady a zlepšovaly se.Přidanou hodnotou jiných aplikací bylo sdílení internetového obsahu včetně Youtube (což je fajn), dále pak fungovaly jako kontroler pro přehrávání obsahu z domácího serveru (počítače) – telefon se stal pohodlným dálkovým ovladačem a zároveň nutným mezičklánkem.

  • iMediaShare je perfektním přehrávačem obsahu z telefonu i internetu, používá tzv. kanály, které bohužel nemůžete sami doplňovat o nové. Dobré ovládání, výborná podpora kodeků, doporučuji placenou verzi – umí více kanálů včetně Youtube a podpoříte dobrý projekt. Program ovšem neumí přehrávat obsah z jiného serveru.
  • Eyecon není nejsilnější v podpoře video formátů, ale má  slušnou nabídku internetového obsahu (Youtube, Facebook, Flicker, Picasa) a má zajímavé rozhraní. Vše můžete přehrávat v Media Linku či v samotném telefonu.
  • AndroMote je kontroler s přehledným nastavením, hodí se dobře pro jednoduchou spolurpáci se serverem.
  • PlugPlayer dělá totéž, jen za něj musíte zaplatit. Funguje, ale obejdete se bez něj.
  • Skifta je nový ambiciozní projekt, zatím v betaverzi, ovšem slušně funkční. Jde o dalšího klienta v pěkném provedení, podpora formátů zatím nic extra, ale za vyzkoušení doslova nic nedáte.
  • ShareMeFree udělá z vašeho mobilu media server (DMR), s Media Linkem to nevyužijete, ale třeba se někdy bude hodit…

Linux s DLNA samozřejmě pracovat umí, ale není to tak jednoduché, jak by si např. začátečník mohl přát. Pro běžné použití s HTC Media Linkem tu máme dvě možnosti – buď chceme na linuxu provozovat media server a pomocí telefonu s Androidem a s některou z výše uvedených aplikací soubory přehrávat (linux jako DMS, Android jako DMC, Media Link pak jako DMR) – a nebo chceme soubory posílat přímo z počítače do Media Linku (push to renderer). O další možnosti, kdy máme počítač s linuxem (např. HTPC) jako klienta, který vyhledává soubory na serveru a přehrává je přímo v TV, tu psát nebudu – je to jiné téma, odkazuji např. na MythTV či XBMC a jejich UPnP funkce.

1. Media serverů pro linux existuje řada, jejich konfigurace není tak složitá, ale pro začátečníky to plně není. Základní postup je podobný jako u jiných typů serverů – instalace, nasdílení adresářů s mediálním obsahem, nastavení zabezpečení… Zde navíc některé servery podporují transcoding – překódování souborů v reálném čase do podporovaných formátů.

  • PS3 Media Server je sice podle názvu primárně určený pro spolupráci s PlayStationem 3, ale klient v Androidu s ním bude spolupracovat také dobře. Výhodou programu je přehledné rozhraní (Java), kde nastavíte vše potřebné například podle tohoto článku z pěkného seriálu.
  • MediaTomb je univerzální media server, pro linux často doporučovaný. Nastavuje se z webového prohlížeče, ale neobejdeme se bez terminálu a konfiguračních souborů. Server podporuje transcoding. V Ubuntu instalujeme přímo z repozitáře, pro zprovoznění může pomoci tento návod.
  • uShare, FUPPES a miniDLNA jsou další servery, nezkoušel jsem, o své případné zkušenosti se můžete podělit v diskuzi. Jen přidávám návod na instalaci uShare v Ubuntu a miniDLNA.

2. Chceme-li posílat mediální obsah do rendereru HTC Media Link přímo z počítače, na kterém běží linux (ve Widnows 7 údajně tuto vlastnost podporuje přímo Media Player), potřebujeme zprovoznit funkci Push To Renderer. K tomu slouží projekt Coherence.

Coherence je framework pro GNOME, který umožňuje pomocí pluginů přehrávačům Rhytmbox a Totem přímý přístup k souborům na mediálním serveru – z počítače se tak stává DMP. Zároveň obsahuje plugin (python skripty) pro Nautilus, které přidají do kontextového menu položky pro sdílení adresářů s mediálním obsahem, upload souborů na server – a hlavně funkci Push pro posílání vybraných souborů do DMR, tedy i našeho Media Linku.

Instalace je jednoduchá, základ najdete v repozitáři:sudo apt-get install python-coherence python-nautilus

Rozšíření pro Nautilus stáhnete z výše uvedeného odkazu a umístíte do

~/.nautilus/python-extensions (adresář bude třeba pravděpodobně vytvořit)

A ještě upozorním na prográmek UPnP Inspector (Python UPnP analyzer) – zobrazí všechna zařízení, s nimiž váš počítač má spojení, ovládá GStreamer Renderer, je součástí projektu Coherence. Najdete ho opět v repozitáři:

sudo apt-get install upnp-inspector

Závěrem jen dodám, že investovaných peněz do HTC Media Link nelituju, zařízení funguje dobře, přineslo mi kromě možnosti bezdrátového přehrávání videa z mobilu či stolního počítače i rychlou prezentaci fotek, na pouštění hudby ho nevyužívám. Výborná je možnost pouštět si na TV internetové video a fotky z Facebooku a Pacasa webu. Zároveň narazíme na limity DLNA a bezdrátové sítě – video nebude Full HD, zapomeňte na MKV (pomůže transcode na serveru), hodil by se program, který obejde omezení DLNA a zobrazí snadno jiný obsah – např. PowerPoint / Prezentace.

Ještě pár relevantních odkazů:

Sdílet