Poradíme, jak na přehrávání filmů na Androidu

logotestCamera3copie

Úhlopříčky displejů mobilních přístrojů dnes dosahují takových hodnot, že nezřídka slouží k poměřování mezi alfa samci a stejně tak se díky velké zobrazovací ploše dají použít jako promítací plátna filmů a videí. Bohužel však neplatí, že jsme bezprostředně po koupi androidího přístroje schopni pohodlně přehrávat všechny videosnímky ve svém telefonu či tabletu. Ukážeme vám, jak začít a jak si s touto situací poradit.

EDIT: Jak na přehrávání filmů v Androidu? (návod pro začátečníky)

Video – úvod do problematiky (pro vzděláníchtivé)

Nikoho nejspíše nepřekvapí, že video je složeno z jednotlivých snímků, které jsou nasekány s drobnou změnou rychle za sebou, čímž navodí pocit plynulého pohybu. Rozebereme-li video ještě více dopodrobna, nejedná se o nic jiného než o změť jedniček a nul, které jsou pro digitální techniku typické. Je však jasné, že právě díky tomu není snadné video na tuto podobu rozložit a naopak zase správně při přehrávání sestavit. I proto je přehrávání filmů komplikovanější, než by se mohlo na první pohled zdát. Pro správné přehrávání filmů musí být tedy připraven nejen hardware (v tomto případě “střeva” mobilního přístroje), ale také softwarová část (systém, přehrávač, kodeky).

Video-Picture

Formát videa, kodek a kontejner

Ačkoliv se s těmito pojmy setkává téměř každý, kdo využívá počítač, televizi či mobilní přístroj, panují mezi nimi velké zmatky. Pojďme si krátce povědět, co jednotlivé výrazy představují.

Formát videa a kontejner – často zaměňované pojmy

Pojem formát videa nám říká, jakou metodou je videozáznam zpracováván a transformován na bitový proud. V současné době vládne formát MPEG, zejména verze MPEG-2 a MPEG-4 si dnes našla místo ve většině filmů, které přehráváme. Troufáme si tvrdit, že většina uživatelů, kterých se zeptáte, v jakém formátu mají své video, vytrousí odpověď typu AVI, MKV, MP4 atp. Proč je tato odpověď špatně? Protože tyto zkratky označují kontejner. A ono toto lidové označení sedí úplně přesně, neboť videokontejner je skutečně pouze obal, který v sobě spojuje videosoubory, audiosoubory a umí i další věci (titulky například). Proto když vám někdo řekne, že má video v AVI, vy z toho nepoznáte, jakým způsobem je uvnitř video uloženo, a tato informace je vám tak k ničemu, neboť váš přístroj může zvládat například MPEG-2, ale MPEG-4 AVC už ne. Obojí ale může být ve stejném kontejneru.

containers

Kodek – věc, se kterou se většina uživatelů nesetká, přesto si to myslí

Začněme tím, co vlastně kodek znamená. Již samotný původ tohoto slova odhalí, co kodek je a co není. Toto slovo vzniklo spojením kodér a dekodér. Co to znamená? Kodek je implementace formátu videa, která dokáže video kódovat, ale zároveň i dekódovat. To znamená, že kodek je program nebo hardwarová část (i chip v přístroji může být kodek), která využívá způsoby popsané ve formátu videa ke kódování a dekódování multimédií. Kodek je tedy to, co splňuje dvě podmínky popsané v předchozí větě. Nic jiného.

Položme si však otázku – při přehrávání filmů v počítači, telefonu či tabletu video dekódujeme a zároveň kódujeme? Ne. Video pouze dekódujeme a používáme tak pouze dekodéry. To, co se stará o přehrávání videa a co nalezneme v přehrávačích, tedy nejsou kodeky, jak si většina lidí myslí a dokonce i tvrdí, ale pouze dekodéry. Běžný uživatel kodek většinou vůbec nepotřebuje a k přehrávání už vůbec ne.

Video v Androidu

Po zničujícím úvodu, který měl zvídavějším čtenářům přiblížit komplikovanou problematiku zpracovávání a přehrávání videa, se pojďme podívat na přehrávání videí v Androidu.

Hardware telefonu – přes to nejede vlak

Můžeme do systému cpát všelijaké přehrávače, kodeky (dekodéry), přesto se video nebude přehrávat plynule. Proč? Samotný videosoubor obsahuje spoustu dat a informací, které se v reálném čase musí přetvořit na ostrý obraz, aby nám neunikl žádný detail vnadného poprsí slečen, které dodávají atmosféru v nejnovějším americkém filmu. Tento proces je velmi náročný na výkon a čím je video kvalitnější, tím nároky rostou. Nelze proto počítat s tím, že plynulé přehrávání kvalitního videa zvládne každý přístroj. Levné přístroje s jednojádrovými procesory si tak s Full HD videem poradit nemusí, novější přístroje s vícejádrovými procesory však již ano.

Hardwarová akcelerace – šikovný pomocník

Ačkoliv jsme vás v konci předchozího odstavce navnadili na počet jader v telefonu a jak je to pro přehrávání videa důležité, nemusí tomu tam být. Stále více a více se do našich hlav vštěpuje pojem hardwarové akcelerace, který má přehrávání filmů výrazně ulehčit. Co si před tím představit? Hnacím motorem pro celé zařízení je procesor, který se stará o většinu úkolů, které si nachystáme. Ne jinak je tomu i u videa, a tak chytré hlavy napadlo, že by se proces přehrávání videa mohl přenést na grafický akcelerátor a ulehčit tak procesoru. Architektura procesoru a grafického čipu se totiž značně liší – zatímco procesor má pouze několik výpočetních jednotek (jader), které ovšem fungují zcela samostatně, grafický čip má výpočetních jednotek více, jejich možnosti výpočtu ovšem nejsou tak vysoké a používají se většinou pro paralelismus a zpracovávání stejné instrukce na různých datech. A to je přesně věc, které lze u přehrávání videa využít a lze tak dokonce plynule přehrát video, které by procesor takto přehrávat nezvládl. Sami ovšem cítíte, že po softwarové stránce je to trochu složitější, a tak hardwarová akcelerace zdaleka nefunguje vždy – záleží na konkrétním hardwaru, přehrávači, dekodéru a filmu. A doporučení? Je-li možnost HW akceleraci použít, určitě to udělejte.

hw-acceleration

Přehrávač videa – ten z Androidu nestačí

Největší problém v přehrávání videí na systému Android vidíme v tom, že přehrávač, který je součástí systému, za moc nestojí. Spolehlivě většinou přehraje pouze videa, které vytvoříte v samotném telefonu (Movie Studio, snímky z fotoaparátu telefonu). Spousta nových uživatelů je tak překvapena, že když se jim po urputném boji podaří překopírovat z počítače film do svého nového mazlíčka, po spuštění se dočkají pantoflezouvající hlášky “Video nelze přehrát.”.

Téměř vždy tak budeme muset použít alternativní přehrávač. S tím není žádný problém, neboť se jich na Google Play nachází spousta. Nebudeme zde polemizovat, který z přehrávačů je ten nejlepší, ale pouze uvedeme ty, které jsou velmi oblíbené a se kterými rozhodně neuděláte chybu. Všechny nalezneme v aplikaci Obchod Play.

Video se nepřehrává plynule – co s tím?

Problém, na který po nainstalování jiného přehrávače narazíme nejspíše nejčastěji. Důvodů je hned několik, některé lze odstranit, jiné však ne. Jako první bychom se měli přesvědčit, zda video běží v S/W módu nebo H/W (hardwarová akcelerace). U většiny přehrávačů nalezneme tuto informace přímo při přehrávání filmu v některém z rohu obrazovky.

Screenshot_2013-01-04-21-47-45

Běží-li video v S/W módu, o přehrávání se stará procesor a nemusí video v reálném času plynule přehrát. Můžeme zkusit ručně zapnout přehrávání s HW akcelerací (většinou stačí poklepnout na displeji na tuto zkratku a přepnout, případně prohledat nastavení přehrávače). Je však smutnou pravdou, že to většinou nepůjde, neboť přehrávače automaticky upřednostňují HW akceleraci. Nemusíme však rovnou smutnit. Každý přehrávač je jiný a video, které nelze přehrát v jednom, může jít přehrát v jiném. Občas tedy není od věci mít v zařízení například dva přehrávače. Nepomůže-li ani další přehrávač, musíme se smířit s tím, že jsme narazili na kombinaci videa a hardwaru, u které nelze použít HW akcelerace a procesor nestíhá.

Jestliže se video seká i přes zapnutou HW akceleraci, je náš přístroj příliš slabý na to, aby video stíhal přehrát. To se stává obvykle u velmi kvalitních videí s vysokým datovým tokem a rozlišením. V tomto případě většinou není možnost, jak zajistit plynulé přehrávání.

Titulky zřídka dělají problémy

Jelikož ne každý člověk ovládá více jazyků současně a filmoví tvůrci se nás na preferovaný jazyk neptají, bývají častým společníkem filmů titulky. Ty moderním přehrávačům v Androidu nedělají většinou problémy a poradí si také s českou diakritikou. Důležité je držet se dvou základních pravidel.

  1. Abychom nemuseli titulky k filmům přiřazovat ručně, naučme se pojmenovávat soubor s titulky stejně jako film (lišit se tedy budou pouze v příponě souboru).
  2. Zlobí-li diakritika, nastavme kódování titulků na Windows-1250

Zatímco první pravidlo není důležité více omílat, u druhého je potřeba jen připomenout, že změna kódování titulků je závislá na použitém přehrávači a nelze tedy říct obecný návod, jak kódování změnit. Tuto možnost téměř vždy nalezneme v nastavení přehrávače.

Screenshot_2013-01-04-21-49-19

Kodeky v Androidu – jak je to zde?

Za tu dobu, co používáme pokročilejší IT techniku, jsme si zvykli, že počítače potřebují pro přehrávání filmů nějaké dekodéry (většinou chybně nazývané Codec Pack atp.), a tak se přímo vybízí otázka, jak se zachovat u systému Android. Zde je situace trochu jiná a nejspíše jednodušší. Většina moderních přehrávačů má již dekodéry přímo v sobě, navíc si aplikace sama řekne o aktualizaci a my se tedy většinou nemusíme o nic starat.

Poznámka: Podobná situace je řadu let i na PC, kde modernější přehrávače taktéž mají své dekodéry (VLC, KM Player atp.).

1-2

Rozlišení filmů – vyšší nemusí být pro přístroj lepší

Čím více HD, tím více Adidas. Takto by se dala popsat dnešní situace, kde nás výrobci krmí tímto pojmem častěji, než politici sliby o lepší budoucnosti. Nemůžeme se tedy divit, že i samotní uživatelé se snaží do mobilu nahrávat videa v nejvyšší kvalitě, kterou dokážou sehnat. U mobilních zařízení bychom si na to však měli dát pozor, protože vyšší rozlišení nemusí nutně znamenat lepší kvalitu, naopak může způsobit problémy a paradoxně i o něco horší kvalitu. Proč?

Při koupi vašeho přístroje jste si jistě prohlíželi také jednotlivé parametry, které udával výrobce, a nemohly zde chybět informace o displeji – fyzická velikost a rozlišení. Právě onen údaj o rozlišení nám prozradí, kolik pixelů displej obsahuje. Filmy v HD kvalitě (tedy rozlišení 1280 x 720 pixelů) jsou již zcela běžnou záležitostí, mobilní přístroje s HD rozlišením však vládnou prozatím pouze ve vyšších segmentech trhu, což znamená, že drtivá většina uživatelů na svém přístroji rozhodně HD rozlišení nemá (trochu lepší situace je logicky u tabletů, které mají fyzicky větší displej a tedy i rozlišení). To znamená, že nemá smysl do svého přístroje za každou cenu nahrávat video v HD rozlišení, protože přístroj není schopen všechny pixely vykreslit a kvalita se tím nezmění. Naopak při přepočítávání rozlišení může dojít k mírné ztrátě kvality (pixely totiž nelze dělit tak jednoduše), navíc přístroj dostává zbytečně zabrat, neboť kvalitnější video spotřebuje více systémových prostředků a zde, jak vidíme, zcela zbytečně, když bychom stejné výsledné kvality na displeji telefonu docílili s videem s menším rozlišením. A doporučení? Nahrávat do přístroje video, jehož rozlišení se blíží rozlišení displeje mobilního přístroje.

Vector_Video_Standards2.svg

Poznámka: V reálném životě se ovšem setkáváme se situacemi, kdy je sice zbytečné nahrávat do přístroje video s větším rozlišením, než přístroj zvládne, stejně tak se ale nikomu nechce video předělávat či stahovat v jiné kvalitě, když už jej jednou máme. Proto se občas hodí, že přístroj zvládne přehrávat video s vyšší rozlišením, než je rozlišení displeje.

Mobilní přístroj jako zdroj videa pro televizi

Spousta mobilních zařízení dnes umožňuje připojení k televizi, čímž se obraz z prťavého přístroje přenese na velkou obrazovku. Toho využijeme zejména při promítání filmů. Má-li váš přístroj HDMI výstup, máte vyhráno – stačí pouze koupit příslušný kabel a vrhnout se do promítání. Jestliže takový konektor na přístroji nenaleznete, musíte se informovat, zda zařízení umožňuje video-výstup. Ke spoustě zařízení existují redukce od výrobce, některá levnější to však nezvládnou vůbec.

MCCLS601_MC_Mini_HDMI_TP__53105

TIP: V Androidu jsme objevili (a jistě spousta uživatelů také) bug, kvůli kterému zlobí titulky na externím monitoru. Tento jev nastává při hardwarové akceleraci, kdy se obraz přenáší pouze na externí monitor, což je obecně v pořádku, neboť tak alespoň ušetříme baterii v androidím zařízení. Obraz je však zobrazován bez titulků, které se zůstávají zobrazovat na androidím zařízení. Jak z toho ven? Ideální řešení, kdy se titulky přesunou na externí monitor a na zařízení se nebude promítat nic, zatím nejspíše neexistuje. Máme ale dvě možnosti, jak přenést obraz i titulky na externí monitor za cenu toho, že i na zařízení se bude zobrazovat to samé. Nejjednodušší je přepnout HW akceleraci na SW mód, což problém vyřeší a propojení funguje jako klonování monitoru. To však nelze použít vždy, neboť bez HW akcelerace nejdou přehrát všechna videa plynule. Druhou možností je zakázat HW vrstvy, což nalezneme v nastavená pro vývojáře (v systému Jelly Bean). Poté funguje klonování displeje i s HW akcelerací.

Screenshot_2013-01-04-22-07-49

 

Závěr

I když by se náš článek dal shrnout do pár kroků (stáhni přehrávač, nahraj video a spusť), cílem bylo vás čtenáře seznámit trochu blíže s tím, proč je výběr přehrávače tak důležitý a na co můžeme při přehrávání narazit. Nyní by vás již neměly pojmy zmíněné v článku překvapit, stejně tak byste si měli být schopni poradit v situacích, kdy video nelze plynule přehrát.

Jan Dolejš
O Autorovi - Jan Dolejš

Uchvácen mobilními technologiemi a veškerým dějstvím v oblasti IT. Google Android se stal mojí srdcovou záležitostí a nehodlám se jej jen tak vzdát. S oblibou… více o autorovi

Mohlo by vás zajímat

Komentáře (33)

+ Přidat článek

Další zajímavosti

+ Přidat článek