HTML5 <video> má problém. Je schizofrenní a nejednotné

HTML5 video je budoucnost webových multimédií. Podle mnohých dokonce už současnost. Stejně tak je to ale stále jedna velká schizofrenie a důkaz nejednoty. Paradox.

Mozilla a Opera jsou odvěkými nepřáteli videa kódovaného ve formátu H.264 (MP4). Asi by to nebyl žádný problém, kdyby se ovšem v průběhu let nestal z há-dva-šest-čtyřky nepsaný standard na poli internetového i mobilního videa. Nebýt warezové scény, nejspíš by už dávno vytlačil i populární DivX a Xvid.

H.264 a kontejner MP4 jsou nepsaným standardem

Do H.264 dnes kódují všechny výkonné telefony, jeho různorodé odrůdy se používají prakticky ve všech domácích kamerách (AVCHD/MTS/MP4), najdete ho téměř na všech videoportálech v čele s Youtube a Vimeo a kodek pronikl také do digitálního vysílání a filmového průmyslu. Pokud chcete sledovat terestrickou a satelitní televizi ve vysokém rozlišení, váš set-top-box a satelitní receiver bude nejspíš také obsahovat H.264 dekodér.

h.264 video.png
Výchozím kodekem pro flashové video na YouTube je stále H.264

Nabízí se tedy otázka, co se vlastně Mozille a Opeře nelíbí. Je to jednoduché – rodina kodeků AVC/H.264 obsahuje technologie chráněné hromadou patentů. A když je něco patentované, dá se to ostatním licencovat za nějaký ten peníz a především nad tím nemá dynamická komunita vlastně naprosto žádnou kontrolu. Principiálně je to na chlup stejné jako situace okolo GPS. Se satelitní navigací je svázaný byznys ohromného množství firem, technologii ovšem kontroluje americká vláda a systém může prakticky kdykoliv vypnout.

youtube formáty.png
Jednu stopu YouTube překóduje pro různá zařízení do H.263, H.264 (desktop, tablety, lepší mobily), MPEG-4 (jednodušší mobily) a VP8 (HTML5 prohlížeče, které neumí H.264) – nabídka stažení klipu pomocí služby Savevid.

HTML5 video nesmí být blokované patenty

Když tedy pracovní skupina WHATWG začala před lety bedlivě dumat, jak navrhnout v jazyku HTML přenos videa, aniž by se muselo přehrávat v nějakém doplňku (Flash, Media Player, QuickTime aj.), jedním z klíčových požadavků bylo i to, aby byl v rámci nového webového standardu definovaný zcela svobodný kodek. Kodek, při jehož používání nebude hrozit, že po vás bude chtít třeba organizace MPEG LA (správce H.264) nějaký ten bakšiš.

Jednalo se a jednalo a v roce 2007 se komunita rozdělila na dva tábory. Zastánci H.264 argumentovali jeho rozšířením a širokou podporou napříč systémy. H.264 umí přehrávat všechny současné chytré telefony a dekodér je ostatně i součástí Mac OS X a Windows od verze Vista. Odpůrci argumentovali patenty a výsledkem je to, že dnes sice máme technicky docela dobře popsané HTML5 Video, které podporuje už i titulky, nicméně nikde není psáno, jaký má mít video vlastně formát.

První adept: Theora

Prohlížeče Firefox, Chrome a Opera zpočátku nabídly alternativní Theoru. Theora je v podstatě obrazová alternativa zvukovému kodeku Vorbis, který všichni dobře znáte, protože jeho kontejnerem je OGG. Theora patří do stejné rodiny, kontejner má tedy zpravidla podobnou příponu OGV – OGG Video.

Druhý adept: VP8 a WEBM

Později pak do hry vstoupil také Google, který začal propagovat další svobodný kodek VP8/WEBM. VP8 je nástupce starší řady VP, kterou vyvíjela společnost On2 Technologies (než ji Google koupil) a kterou jako výchozí kodek svého času používal i Flash Player. VP8 má tedy určité renomé a historii, nicméně stejně tak se může pochlubit i zástupem kritiků, kteří argumentují tím, že má VP8 ještě hromadu dětských nemocí a vnitřních chyb – kodek trpí problémy třeba u rozměrnějších videí.

Ať už je lepší VP8, nebo Theora, faktem zůstává, že zapracovala velikost Googlu a firma jej i díky YouTube protlačila do světa. Softwarové střižny a komerční převodníky sice ještě s formátem VP8/WEBM moc nepočítají, ale to se může brzy zlomit.

Suma sumárum, VP8 je dnes právě onou svobodomyslnou alternativou H.264 a má také nejširší podporu napříč webovými prohlížeči. Ve výchozím stavu mu rozumí Chrome, Firefox i Opera a kodek lze dodatečně doinstalovat jak do Internet Exploreru, tak do Safari.

H.264, Theora, nebo VP8?

Ze hry nám tedy teoreticky vypadla velmi okrajová Theora, nicméně zbyly dva kodeky H.264 a VP8 a to je stále příliš. U Flash Playeru problém není, ten má totiž jednotný kód a nabízí tedy jedno video napříč prohlížeči a operačním systémy. Jak toho ale docílit v HTML 5?

Když si zvolíte produkčně jednodušší H.264, který vygenerujete téměř z jakékoliv současné softwarové střižny, vaše video v HTML5 značce <video> bez problému přehraje IE9 a vyšší, Safari, Chrome a některé telefony. Surfaři v Opeře ale nic neuvidí a v případě milovníků ohnivé lišky budete musel spoléhat na to, že si doinstalují kodek. Jenže toto běžný surfař neudělá – ten znechuceně odejde.

Když si naopak vyberete VP8, video uvidí surfaři v Chromu, Firefoxu a Opeře, bez dodatečných instalací ale přijdete o uživatele IE, Safari a surfaře na mobilní jablečné platformě, tedy hlavně na důležitém iPadu.

HTML5 schizofrenie

Jak vidno, jeden formát videa si prostě nemůžete vybrat, a tak nejspíš nakonec skončíte u toho, že nabídnete oba. HTML5 Video není hloupé a vybere tu stopu, kterou váš prohlížeč podporuje. Jenže co když nebude mít surfař adekvátně vybavený prohlížeč? Co když bude surfovat v IE8? Pak nezbývá nic jiného než na pomoc zavolat v tomto směru poměrně univerzální Flash Player.

html5 video.png
Člověk zajásá, Microsoft na svých blozích používá HTML5 video. Tak jednoduché to ale není – stačí se podívat na zdrojový kód

Pro tu poslední cestu se rozhodl třeba Microsoft, který poslední dobou propaguje HTML5 Video kde se dá a na jeho blozích tak zpravidla objevíte tento krásný HTML5 kód:

<video>
<source type="video/mp4" src="demo.mp4" />
<source type="video/webm" src="demo.webm" />
<embed type="application/x-shockwave-flash"...
</video>

Kód jsem pro názornost zkrátil, podstata ale zůstává stejná. Je to nádherná ukázka současné technologické schizofrenie. Aby mohl Microsoft nabídnout ve svém článku krátké video s ukázkou prostředí Metra, používá v HTML5 tagu <video> formát H.264 (IE, Safari, Chrome, mobily, tablety…) a zároveň VP8/WEBM (Firefox, Chrome, Opera). Tím to ale nekončí a pro jistotu přidává ještě skrytý kód s flashovým přehrávačem, který se zobrazí v případě chyby.

Výsledek? Autoři videa museli vytvořit dvě paralelní stopy, které se kódovaly 2× delší dobu. To je daň za technologie, které by si zasloužily označení „betaverze“.

Mozilla: Nebudeme H.264 podporovat, ale ani ignorovat

V této situaci napadlo šéfa výzkumu v Mozille Andrease Gala něco tak prostého a přitom tak kontroverzního, že si toho všimla i technická média. Gal totiž na vývojářském fóru na Google Groups navrhnul, aby Firefox dekódoval video v H.264 v případech, kdy už samotný systém obsahuje dekodér.

Jinými slovy by ho tedy prohlížeč neignoroval, ale pragmaticky využil. Ideologicky by to přitom bylo stále korektní, protože samotný Firefox by s kodekem dodávaný nebyl.

Tento návrh Gal podal především kvůli chytrým mobilům a tabletům, kde je H.264 naprostý standard a bylo by škoda jej tak slepě ignorovat. A když už by systémový H.264 podporoval Firefox na mobilech, Gal by se nebránil tomu, aby tomu tak bylo i na desktopech – jak už jsem psal v úvodu, H.264 je součástí Mac OS X i Windows počínaje verzí Vista.

Strhla se lavina negativních reakcí. Zatímco jedni jsou přesvědčeni o tom, že se jedná o ústupek a podkopávání autority VP8 a Theory, jiní argumentují tak, že to na věci stejně nic moc nezmění, protože H.264 není součástí stále poměrně rozšířeného Windows XP.

Faktem ovšem zůstává, že tento ryze pragmatický krok by pomohl především samotnému surfaři, který by nemusel nic doinstalovávat a v drtivé většině případů (tržní podíly Windows Vista/7, Mac OS X, Android 3, iOS) by video bez problému přehrál.

Zároveň je ale pravda, že tento krok by byl skutečně určitým ideologickým ústupkem a zvláště producenti videa by mohli nadále VP8 ignorovat – H.264 video by totiž už nejelo pouze v Opeře a případně na linuxových distribucích se striktně svobodnými kodeky, což je při pohledu na tržní podíly cosi, co se dle mnohých dá přežít.

Nestačí vymyslet svobodný kodek

Celý případ ilustruje jedinou věc. Nestačí „pouze“ vymyslet svobodný kodek a hlásat výhody technologie, která není svázaná patenty, ale je třeba také aktivně bojovat za to, aby nový kodek dosáhl stejných technologických kvalit jako jeho komerční sok a aby jej za svůj přijali výrobci softwaru, klíčové mobilní platformy a multimediální producenti. Jakákoliv jiná cesta je dopředu odsouzená k neúspěchu, geekové a snílci totiž ruku na srdce až na pár výjimek zpravidla nerozhodují.

Diskuze (100) Další článek: Vývoj prohlížeče pro Metro už oznámila Mozilla i Google

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,