15
Fotogalerie

DLNA: snadné přehrávání filmů z PC v TV

Ve světle reflektorů je dnes sice Chromecast, ale každý internetový televizor podporuje i protokol UPnP a DLNA, na které se občas zapomíná. Dělají podobnou věc trošku jinak.

Pokud chcete dostat video z počítače, nebo internetu na televizní obrazovku, máte dnes na výběr několik způsobů. Skoro každý výrobce nabízí nějakou vlastní streamovací technologií a Google si pak získal trh svým levným donglem Chromecast. Zapojíte jej do HDMI, připojíte do domácí sítě a rázem můžete na velkém displeji spouštět videa z YouTube i lokální streamy třeba z tabletu a mobilního telefonu.

Člověk by skoro zapomněl, že prakticky každý současný televizor s internetovou konektivitou dnes nabízí také UPnP/DLNA. Zatímco dříve si od této technologie mnozí slibovali vyřešení všech neduhů s nekompatibilitou mezi jednotlivými prvky domácího multimediálního systému, dnes je DLNA v mnoha ohledech spíše v pozadí, ačkoliv jej jeho konsorcium výrobců neustále vylepšuje a slibuje podporu mnoha nových specialit.

DLNA

Co je to vlastně to DLNA? DLNA je soubor pravidel, které řídí a upravují o něco starší multimediální protokol UPnP, tedy Universal Plug&Play. Úkolem UPnP je dostat obsah z úložiště A skrze domácí síť do zobrazovače B. Tím může být televizor, ale stejně tak třeba chytrý domácí Hi-Fi systém, UPnP totiž může přenášet prakticky cokoliv. Je to přenosový protokol, který v mnoha ohledech vychází z prostého textového HTTP.

Ačkoliv je většina zařízení uzpůsobená k tomu, aby s pomocí UPnP a jeho rozšíření DLNA zobrazovala a přehrávala fotografie, muziku a video, mnohé DLNA servery si poradí i s externími titulky (zpravidla *.SRT), a pokud je cílový televizor podporuje, může je rovnou zobrazit společně s videem.

Celý systém UPnP/DLNA se skládá z tří základních součástí:

  • Server
  • Ovladač
  • Zobrazovač

DLNA server se stejně jako na webu stará o samotné soubory, které pak umí přenášet po síti do zobrazovače. Tím je zpravidla obrazovka televizoru, ale může to být klidně i softwarový přehrávač v počítači, který umí načítat videa, muziku a obrázky právě z DLNA serveru. Jedním z nich je i Media Player na Windows, DLNA server (i klient) je totiž dlouholetou integrální součástí operačního systému od Microsoftu.

Nejzajímavější součástí je ale ovladač, protože svou funkcí v mnohém připomíná Chromecast. Ovladač je program, který dokáže kontrolovat přehrávání medií ze serveru X na zobrazovači Y. Může to být tedy klidně třetí zařízení – třeba mobilní aplikace, ve které se načte knihovna médií na DLNA serveru, který běží třeba na domácím síťovém disku, a uživatel si jen vybere, na jakém spárovaném televizoru, Hi-Fi systému aj. se dané médium přehraje. Ovladač je přitom opravdu ovladačem, nabízí tedy rychlé přehrávání, zobrazuje časovou osu a všechny další typické prvky.

Pokud jste se v předchozím odstavci poněkud ztratili, nic se neděje, vše si totiž můžete vyzkoušet přímo na Windows – jeho Media Player je totiž server, ovladač i zobrazovač v jednom a to z něj činí opravdu jeden z nejpropracovanějších UPnP/DLNA systémů na trhu. Open-source DLNA servery, které jsou zpravidla k dispozici pro domácí síťové disky NAS, jsou bohužel často plné chyb a vyžadují benevolentnější televizor, který se s nimi dokáže vyrovnat. O tom ale až později na příkladu s televizorem Samsung a Panasonic.

Příklady DLNA konfigurací

DLNA umožňuje hromadu scénářů, já ale na dvou příkladech zmíním ty nejtypičtější.

1. Scénář: Sedím u počítače a chci přesměrovat film na velkou obrazovku televizoru

Tento scénář v mnohém připomíná Chromecast, jen nebudeme přehrávat video z YouTube, ale třeba MP4 stopu na pevném disku počítače, případně třeba NASu, připojeném USB disku apod. Na Windows nemusíte nic nastavovat. Pokud je televizor i počítač ve stejné domácí síti, už o sobě vědí, takže si stačí jen ověřit, že vidíte televizor jako multimediální zařízení v Průzkumníku.

Obrázek 001.png
​UPnP/DLNA server a PC jsou v jedné síti, takže se automaticky našly

Nyní už pouze stačí na počítači vybrat kýžený soubor – zvuk, obraz, nebo video a skrze kontextovou nabídku zvolit automaticky spárované zařízení, na kterém se má zobrazit a přehrát. Pokud jste v nastavení televizoru určili, že s ním může komunikovat jakékoliv DLNA zařízení, médium se začne během několika chvil přehrávat, případně na obrazovce vyskočí dialog, který vás požádá o potvrzení. Spárování je tedy na první pohled velmi podobné tomu, které znáte ze světa Bluetooth.

Obrázek 002.png Obrázek 003.png
​Přehrání videa z Windows na spárovaném UPnP zobrazovači a miniaturní ovladač

Na Windows se zároveň zobrazí malé okno s ovladačem, na kterém můžete upravovat hlasitost a libovolně skákat ve stopě, pakliže jde o zvuk, nebo obraz. Vypadá to jednoduše a z uživatelského hlediska skutečně je, ale na pozadí přitom probíhá divoká komunikace. Server a zobrazovač si totiž musejí nejprve předat informaci o tom, jaké formáty vlastně podporují. Samotná specifikace DLNA toto bohužel vůbec neupravuje, takže záleží pouze na výrobcích televizoru a serveru, jaké kodeky vlastně přibalili.

01.jpg
​A konečně obraz na spárovaném televizoru – i odtud mohu ovládat přehrávání

Windows 10 rozumí MKV

Zatímco televizory s běžnými formáty zpravidla problém nemají (AVI, MPG, WMV, MKV, MP4), pro starší Windows Media Player to může být nepřekonatelný problém. Microsoft ale od dob Windows XP a 7 udělal velký skok vpřed a ve Windows 10 už podporuje i kontejner MKV včetně jeho typických kodeků. Pro přehrávání DLNA to má jedno obrovské plus – dokáže tím pádem do televizoru dostat video s titulky.

MKV se zabalenými titulky se dá ke všemu snadno vytvořit s pomocí mnoha nástrojů. Kraluje jim balík MKVToolNix (a především jeho nástroj mkvmerge), ve kterém jen otevřete zdrojové video a soubor s titulky, a pokud nebude potřeba kódování do podporovaného formátu videa, v podstatě se jen vytvoří nový soubor a zabere to několik málo sekund.

Obrázek 006.png Obrázek 007.png
​Zabalení videa a externích titulků do jednoho MKV

Samozřejmě se může stát, že zobrazovač (televizor) zvolený formát nebude podporovat. V takovém případě o tom dá serveru vědět a ten může video živě kódovat pro lepšího formátu. Windows Media Player to sice neumí, mnohé jiné UPnP servery ovšem ano, i když za cenu toho, že se počítač pořádně zapotí – zvláště pokud bude podobně jako třeba populární Plex kódovat dejme tomu Full HD. To rozhodně nebude nic pro pomalejší mašiny.

02.jpg
​Jelikož DLNA klient v televizoru rozumí MKV i titulkům, mohu video přehrát

2. Scénář: Sedím u televize a chci se pomocí DLNA podívat na film na NASu, PC aj.

Televizory s podporou DLNA samozřejmě nejsou jen hloupé zobrazovače, ale disponují kompletním klientem. To znamená, že v adekvátní aplikaci na televizoru můžete zvolit některý z okolních DLNA serverů, prohlédnout si jeho knihovnu a vybrat film k přehrání přímo na televizoru.

03.jpg04.jpg
​UPnP/DLNA klient na televizoru a výběr serveru. Ten první běží na mém NASu, BOBIK je pak název notebooku s Windows. UPnP/DLNA server ve Windows nabídne k přehrání všechny podporované soubory nahrané v knihovně Media Playeru (tedy ve výchozích složkách pro fotografie, zvuk a video).

I v tomto případě DLNA v mnohém připomíná Chromecast a s malými úpravami by mohlo umět úplně to samé. Jak už jsem totiž napsal výše, UPnP a DLNA jsou z velké části kompatibilní s protokolem HTTP. Když se tedy začne na televizoru přehrávat kýžený film, nejde o nic jiného než o stahování například MP4 souboru z webové adresy. Není to ale webová adresa videa kdesi na YouTube, ale lokální adresa média na DLNA serveru. Kdybyste ale tutéž adresu otevřeli v běžném webovém prohlížeči, bude to fungovat a vy prostě stáhnete soubor zvuku, obrázku, nebo videa.

Jen pro představu, taková DLNA/WWW adresa videa může vypadat třeba takto:
http://192.168.1.2:49152/content/media/object_id/1018/res_id/0/ext/file.mkv

05.jpg
​Procházení adresářovou strukturou na serveru. Tento server předá v XML klientu všechny typy souborů, televizor ale přehraje jen podporované formáty – nikoliv tedy třeba ono ISO v seznamu. Technicky však má přístup i k těmto souborům.

DLNA a komplikace

Jelikož přímo specifikace DLNA neřeší nějaký základní set podporovaných formátů, záleží pouze na tom, jak se dohodne server a klient. A to je problém. UPnP a DLNA sice měly multimediální svět sjednotit, kvůli chybám si ale bude nejeden uživatel rvát vlasy a DLNA pošle do horoucích pekel.

Jak už jsem napsal výše, mnoho DLNA serverů obsahuje hromadu chyb a některé televizory se s nimi nevypořádají. Typickou chybou je špatná detekce formátu videa. Server tedy může klientu sdělit, že následující video je MPEG2, nicméně se bude ve skutečnosti jednat o H.264 v kontejneru MP4.

dlna.png
​Zachycená komunikace mezi DLNA serverem a klientem. Zatímco na obrázku vlevo je UPnP server ve Windows, vpravo je UPnP server na mém NASu. Všimněte si, že server vlevo správně označil typ souboru, jehož data se začínají vypisovat při spodním okraji, jako video/mp4, tak server vpravo označil data jako video/mpeg. Zdánlivě zanedbatelná chybička ovšem způsobila, že televizor v druhém případě video nedokázal přehrát.

Zatímco opravdu chytrý televizor se pokusí detekovat kodek videa ještě jednou při samotném streamování, ten hloupější bude spoléhat na zprávy protokolu UPnP/DLNA a začne proud dat dekódovat pomocí H.264. Samozřejmě to nebude fungovat a na obrazovce se nejspíše zobrazí nic neříkající sdělení, že „toto video nelze přehrát.“

07.jpg 06.jpg
Správná a špatná detekce typu dat, jak se projevila v DLNA klientu televizoru

Zatímco UPnP/DLNA server ve Windows detekuje formáty videa naprosto korektně, jiné a zejména ty bezplatné servery s tím mají často problémy. Zatímco první zkušební televizor od Samsungu si s touto překážkou poradil a sám detekoval správný formát, druhý zkušební televizor Panasonic Viera AX630 si na této hloupé chybě autora serveru zbytečně vylámal zuby.

09.jpg 08.jpg
​A konečně definitivní projev chyby. Video z prvního serveru se přehrává, zatímco video z druhého serveru nahlásí chybu. Přitom se jedná a tentýž soubor.

Hloupé chyby a nevyužitý potenciál kazí dojem

UPnP/DLNA tedy není bez chyb. Samotný protokol sice zvládne mnohé operace včetně přenosu titulků a dalších, prakticky libovolných, metadat, ale nakonec veškerý dobrý dojem zkazí špatná práce s detekcí typů médií. Uživatel je právem zoufalý, televizor mu ani pořádně nepopíše důvod chyby, a tak se není čemu divit, že mnozí nad DLNA zlomí hůl. Mohou za to ovšem i slabší přehrávače, které neumějí základní věci – třeba právě přehrávání oněch externích titulků.

Speciál: Televizory

Nový televizor vybírejte pečlivě. Kolik do něj chcete investovat, na jaké ceně začínají kvalitní modely? Jaká bude nejvhodnější úhlopříčka, rozlišení a jaký typ zobrazovacího panelu? Určitě si přečtěte návod Jak dobře koupit televizor.

Doporučujeme také redakční výběry televizorů:

Určitě si přečtěte

Články odjinud