Přejít k navigační liště

Zdroják » Webdesign » Webdesignérův průvodce po HTML5 – pohyblivé obrázky

Webdesignérův průvodce po HTML5 – pohyblivé obrázky

Články Webdesign

V minulých týdnech jsme si povídali o tom, jak smysluplně označovat obsah stránek. Ale abychom vůbec mohli nějaký obsah označovat, musíme nějaký (nejlépe hodnotný) mít. Blogy (a psaní) už jsou z módy a tak musíme, chceme-li být in, natáčet a publikovat audio a video. Ovšem pro publikaci tohoto typu obsahu jsme donedávna potřebovali plugin v prohlížeči. Dnes se podíváme, jak kartami míchá HTML5, a na nový element <video>.

Samozřejmě rozmach videa nespočívá v tom, že video je cool. Hlavní důvod je v tom, že jeden obrázek vystačí za tisíc slov. A teď si představte, že promítáte video rychlostí 25 obrázků za sekundu a video trvá minutu. A navíc vaše video obsahuje zvuk. To je panečku pořádné množství informací. Nedivme se proto, že se do roku 2014 očekává zčtyřnásobení celkového množství dat, které proteče internetem (zdroj).

(Vím, že jsem minule slíbil, že si dnes povíme i o elementu <audio>, ale do jednoho článku se mi to prostě nevešlo. – Pozn. aut.)

Trocha historie

Když vzniklo HTML, nikdo netušil, že něco jako video se stane populárním. A při nástupu videa se tak HTML stalo poněkud bezzubým. Nenabízelo standardizovaný způsob, jak vložit video do stránek. Jediné podporované video tak byly animované GIFy.

Touha po videu však byla velká a dala tak vzniknout celé řadě konkurenčních (a proprietárních) přehrávačů, které se do prohlížečů instalovaly jako pluginy. Real Player, Windows Media Player, QuickTime, etc. Až v roce 2005 jeden zvítězil a ze všech ostatních udělal v boji o video na webu trpaslíky potácející se na hranici používanosti. Byl to Adobe Flash. Vyhrál díky tomu, že byl nainstalován skoro všude, a také proto, že byl tím, co si zvolil YouTube. (Což se zase vrací k tomu, že byl nainstalován skoro všude.)

A tak jsme do stránek vkládali (a vkládáme) video nějak takhle:

<object width="480" height="385">
    <param name="movie" value="http://www.youtube.com/v/siOHh0uzcuY&hl=en_US&fs=1&"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param></p>
    <embed src="http://www.youtube.com/v/siOHh0uzcuY&hl=en_US&fs=1&"
    type="application/x-shockwave-flash" allowscriptaccess="always"
    allowfullscreen="true" width="425" height="344"></embed>
</object>

Není to moc hezké a místy to je šifra, ale funguje to, zvykli jsme si a asi bychom s tím i vydrželi, kdyby v roce 2007 nepřišel CEO Apple Steve Jobs a neoznámil, že operační systém pro jeho iPhone (dříve OS X, nyní přejmenován na iOS) nepodporuje a nebude podporovat Flash. Myslet si o tomto kroku můžete co chcete, ale Apple se ho drží (a držet bude, přečtěte si Thoughts on Flash) a my webdesigneři se s tím musíme srovnat. Ignorovat již téměř sto milionů zařízení bez podpory Flashe si nikdo nemůže dovolit.

<video> se představuje

HTML5 zavádí nový element <video>, který umožňuje (teoreticky) jednoduše vložit video do stránky. Šifra je pryč, tag video je velmi jednoduchý:

<video src=hixiebojuje.ogv
    width=320
    height=240
    controls
    poster=hixie.jpg>
    Download the <a href=video.ogg>Boj Hixieho s výrobci prohlížečů o jediný správný kodek pro video</a>
</video>

Atributy

Většina použitých atributů tagu <video> je snadno pochopitelná, ale pojďme si je projít a představit si ještě pár dalších, které můžeme použít:

  • „src“ – cesta k videu, které má být přehráno
  • „width“ a „height“ – stejně jako u obrázků můžete nastavit šířku a výšku videa. Pokud nenastavíte, prohlížeč použije to, co se mu zdá pro video vhodné. Můžete taky nastavit jen jednu velikost, druhou si prohlížeč dopočítá.
  • „controls“ – pokud uvedete tento atribut, tak prohlížeč zobrazí své defaultní prvky pro ovládání videa (přehraj, zastav atd). Můžete si však i vytvořit své, ale to si ukážeme až v příštím díle.
  • „poster“ – je url obrázku, který se zobrazí v době, kdy se video načítá.
  • „autoplay“ – z názvu je to jasné. Tento atribut zajistí, že se video pustí ihned po načtení.
  • „autobuffer“ – pokud jste si jisti, že uživatel si bude chtít video pustit, můžete ho začít automaticky načítat, jinak se začne načítat až ve chvíli, kdy ho uživatel aktivuje.
  • „loop“ – video se bude přehrávat ve smyčce

Pokud se podíváte na příklad a překvapila vás věta uvedená uvnitř atributu video tak vězte, že takto jednoduše nastavíte fallback, tedy chování pro případ, že prohlížeč video neumí. Pokud tedy prohlížeč nepodporuje <video>, zobrazí se uživateli věta, že si může video stáhnout. Což je skvělé, ale mohli bychom to ještě o něco vylepšit (a také to v příštím díle vylepšíme).

Podpora

Pochopitelná otázka webdesignéra bez zkušenosti s videem by zněla „A jaké prohlížeče to již podporují?“ Samotný element <video> však není oproti zbytku žádný problém. Podporu má (případně je přislíbena) Opera 10.5+, Firefox 3.5, Safari 3+, Chrome, IE9, iPhone 3.0+, Android 2.0+. U takhle nové věci velmi solidní základ.

Jenže legrace teprve začíná.

Kodeky, kontejnery a podobné libůstky

Kdo jste někdy dělal s videem, tak jistě víte, že jedna věc je obalující kontejner videa (taková skořápka, která drží pohromadě audio a video stopu – to, co označujeme příponami .avi, .mp4, .mov, .webm apod.) a druhá věc je kodek, kterým je video komprimováno. A ne jeden, audio a video stopa má samozřejmě každá svůj speciální kodek.

A jak se na webu již stalo tradicí, tak výrobci prohlížečů se nezvládli úplně shodnout na tom, jaké kodeky a formáty používat. Ne, to je moc politicky korektní věta. Kamarád by vám řekl, že v tom je zase bordel a každý si podporuje, co se mu líbí.

Pro rýpaly, kteří budou říkat, že se to mělo napsat rovnou do specifikace, a bylo by!, je na místě dodat: snaha napsat, jaký kodek používat přímo do specifikace samozřejmě byla. Proběhla debata, výrobci prohlížečů se nedohodli a editor specifikace Ian Hickson neměl jinou možnost než upustit od snah specifikovat formát videa.

Kde jsou problémy

Problémy tkví ve dvou věcech. Za prvé v tom, jaký kontejner by se měl pro video používat, a za druhé s jakým audio a video kodekem. Někdo tlačí zcela otevřené formáty, někdo tvrdí (dle názoru autora poměrně oprávněně), že patentem chráněné H.264 (více si povíme o pár řádků níže) nabízí lepší kvalitu. (Schválně si tipněte, kdo je kdo.)

Poměrně logické řešení by bylo implementovat všechny dostupné možnosti a nechat výběr na nás, webdesignerech. Jenže právě tady přichází kámen úrazu. Za patentem chráněné kodeky se musí platit implementační poplatek. A to Mozilla rezolutně odmítla. Jiným (Apple) se zase nechce investovat energii do implementace něčeho, co se jim nezdá technicky lepší.

Ale konkrétně, kde jsou rozdíly?

Video kodeky

Nejprve se pojďme podívat na technické rozdíly mezi jednotlivými kodeky (tedy něčeho, co zajistí převedení do nul a jedniček na jedné straně a na druhé straně zase zpátky do obrázků). Pro video bychom jich mohli použít spoustu, na internetu jsou ovšem relevantní v tuto chvíli tři (a všechny jsou ztrátové, zmenšují tedy velikost videa za cenu ztráty kvality obrazu):

kodek H.264

Vyvinut a standardizován v roce 2003 skupinou MPEG. Cílí v podstatě všechna zařízení na trhu, od mobilů s pomalými procesory po nejnovější herní PC. Proto obsahuje několik profilů, od toho základního pro mobily a web (podporuje jej právě např. iPhone a Android, dlouho na něm jel také YouTube, nyní však přechází na VP8, potažmo WebM) po ty nejvyšší, používané na Blu-Ray discích. H.264 poskytuje skutečně výbornou kvalitu videa napříč profily.

H.264 je zaběhnutý formát a mnoho zařízení tak obsahuje hardware, které jeho kódování/dekódování urychluje. Tím se žádný jiný níže zmíněný kodek zatím chlubit nemůže. H.264 má jeden zásadní problém – je patentově chráněný a pokud jej chce někdo implementovat, musí zaplatit licenční poplatek.

kodek Theora

Vyvinul se v roce 2004 z kodeku VP3. Je to otevřený kodek pro kódování videa a byl vyvinut skupinou Xiph.org Foundation. Nejsou známy žádné patenty, které by ho zasahovaly (kromě těch, které zmíněná organizace licencovala jako royalty-free). Často se však mluví o tom, že je jen otázkou času, kdy se nějaký patent objeví.

Kvalita videa, kterou poskytuje Theora není v porovnání s H.264 či VP8 nikterak úžasná. Porovnejte sami.

kodek VP8

Nedávno otevřený kodek vyvinutý On2 (která předtím vyvinula již zmíněné VP3, potažmo Theora). Letos On2 koupil Google, kodek otevřel jako open-source a patenty licencoval jako royalty-free. (Už i u něj jsem ale četl, že bude lepší být opatrný, protože nějaký patent se objevit může. Narozdíl od Theora za ním však stojí Google, který by mohl většinu případných problémů vyřešit.)

Kvalitativně je na tom o u webových videí dobře. Dokonce maličko lépe než základní profil H.264, tedy ten, který se na webu nejčastěji používá. Vyšším profilům H.264 nemůže konkurovat, to nás pro použití na webu však příliš nezajímá.

Odkaz: nejlepší porovnání H.264 a VP8 co jsem nalezl.

Audio kodeky

Pokud chceme do našeho videa zakódovat i audio, musíme pro něj zase použít kodek. Těch je znovu velké množství, naštěstí pro potřeby webu se můžeme zaměřit jen na tři.

Nejprve však několik slov o kanálech (anglicky channels). Jistě všichni víte, co je to stereo (z každého sluchátka vám hraje jiný zvuk a váš mozek si to složí dohromady). Technicky to je dělané tak, že zvukový záznam má dva kanály, každý pro jedno sluchátko. Pokud bych chtěl mít doma 6 bedniček a udělat si takové domácí kino, tak budu potřebovat kolik kanálů? Správně, 6. Více kanálů používá např. systém Dolby.

MP3

MP3 je dneska de facto průmyslový standard. Vždyť se podle tohoto kodeku jmenují i kapesní přehrávače. MP3 umí maximálně 2 kanály a zvuk lze kódovat v různém bitrate od 32 kbps do 320 kbps. Čím vyšší bitrate, tím lepší zvuk a větší soubor. MP3 bylo standardizováno v roce 1991 a je patentově chráněno.

Zájemci si další informace jistě zjistí jinde.

AAC

Formát známý hlavně proto, že si jej Apple vybral jako hlavní audio kodek svého iTunes Store. AAC umí až 48 kanálů s horní hranicí bitrate 320 kbps. AAC bylo standardizováno v roce 1997 a je patentově chráněno.

Vorbis

Jediný otevřený kodek z těch tří, které mají význam pro web. Nejsou známy žádné patenty, které by ho zasahovaly a tak je hodně populární mezi open-source vývojáři. Vorbis podporuje neomezené množství kanálů.

Skládáme skládanku

Již víme, jaké kodeky můžeme použít, teď ještě v jaké kombinaci a s jakou skořápkou (lépe řečeno kontejnerem):

  • MPEG 4 (.mp4, .m4v) – pracuje s video kodekem „H.264“ a s kodekem „AAC“ pro audio.
  • OGG (.ogv) – pracuje s kodeky „Theora“ pro video a „Vorbis“ pro audio.
  • WebM (.webm) – pracuje s kodekem „VP8“

Nyní na webu probíhá souboj MPEG 4 a WebM. OGG stojí trošku na druhé koleji, hlavní, kdo ho obhajuje, je Mozilla, podporuje jej i Opera. Google nyní prosazuje svůj WebM (kteří se všichni až na Apple zavázali implementovat) a Apple stojí za MPEG 4 (také bych stál, kdybych prodal sto milionů zařízení, které jsou pro jeho přehrávání uzpůsobeny. Pozn. aut.)

Přehled podpory jednotlivých formátů

Které prohlížeče a co již dnes podporují?

  • OGG (Theora+Vorbis) – Firefox 3.5+, Opera 10.5+, Chrome 5.0+
  • MP4 (H.264+ACC) – Safari 3.0+, Chrome 5.0+, iPhone 3.0+, Android 2.0+
  • WebM: Chrome 6.0+

A jaké prohlížeče podporu oznámily?

  • MP4 (H.264+ACC) – IE9
  • WebM: IE9 (pokud si uživatel nainstaluje kodek VP8), Firefox 4.0+, 11.0+, Android (přislíbeno, že v některé z budoucích verzí podpora bude)

Odkaz: Vyjádření IE teamu k podpoře videa v IE9.

Budoucnost videa

Jak bude vypadat budoucnost? Vyhraje MP4 (potažmo H.264) či WebM? Hardwarová akcelerace či otevřenost kodeku? Zatím to vypadá, jakoby všechny esa měl v ruce MP4. Je jediným videem které podporují všechna „i“ zařízení i Android a je to prověřená kvalita. Jenže Mozilla s ním nechce mít nic společného a WebM je silný konkurent. Stojí za ním Google a YouTube tím pádem už přechází z MP4 na WebM. Jak dlouho to bude trvat Androidu? A donutí trh implementovat Apple WebM a přidá Microsoft kodek VP8 přímo do nějaké budoucí verze IE? Dozvíme se v příštích letech.

Závěrem

Šikovný čtenář si již jistě zjistil, že v současné chvíli neexistuje jediný formát, který by fungoval ve všech prohlížečích. (Už si představuji ty nadávky: „a to ti trvalo celý článek, abys nám řekl TOHLE?!“ – pozn. aut.)

Mám pro vás však dobrou zprávu – tag video umožňuje nalinkovat video ve více formátech a pokrýt tak všechny možnosti. (Pokud si tedy dáte tu práci a překódujete vaše video do více formátů. – pozn. aut.) A pro prohlížeče, které nepodporují <video>, můžeme degradovat na flashový přehrávač. Dokonce již existují pěkné pluginy např. pro jQuery.

Ale o tom všem, a i o tom, jak si udělat vlastní vzhled ovládacích prvků pro video, až příště.

Kdo budete chtít za týden ihned vyzkoušet vložní videa do stránek, tak si nezapomeňte nějaké krátké připravit, projdeme si spolu mimo jiné i proces toho, jak takové video vyexportovat ve správném formátu a zabezpečit, aby se zobrazilo co největšímu počtu uživatelů.

Komentáře

Subscribe
Upozornit na
guest
28 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
mmmmario

V ukázce HTML kódy by měly být atributy v uvozovkách, nebo to HTML5 povoluje i bez uvozovek?

formát/kodek podle mě (kdyžtak mě opravte): formát je třeba H.264, který popisuje jak skládat snímky za sebe, jak využívat předchozí/budoucí snímky pro kompresi „je jen jeden“ a kodek je sw, který to dělá – komprimuje či dekomprimuje video, každý si může implementovat svůj třeba x264, ffmpeg apod. „je jich více“

Martin Malý

HTML povoluje atributy bez uvozovek, alespoň co vím.
S kodekem/formátem je to trošku nepřehledné. „Formát videa“ může označovat jak „formát videosouboru“ (mov, avi, …), tak i „kompresní formát“ (MPEG2, MPEG4 apod.), ale rozhodně častější je první význam. „Kodek“ zase může označovat jak algoritmus (MPEG), tak jeho konkrétní implementaci (ffmpeg). V článku je „formátem videa“ míněn formát videosouboru (tedy např. AVI nebo FLV) – vzhledem k tomu, že tyto formáty jsou obecné kontejnery a mohou obsahovat video i audio kódované různými algoritmy, a bylo zapotřebí odlišit, o jaký typ kontejneru jde. Je to konzistentní s označením „formát souboru .doc“ nebo „formát pdf“, „formát ZIP“. (Ostatně i ZIP může využít několik různých algoritmů, a používá se „soubor ve formátu ZIP“, nikoli „…ve formátu lzh v souboru typu ZIP“)
Vlastní algoritmy jsou označovány i slovem „kodek“ – tedy výraz „použitý kodek: H.264“ ve skutečnosti znamená „videostopa byla komprimována algoritmem H.264 pomocí nějakého kodeku (přesněji enkodéru), který tento algoritmus implementuje“. Slovo „kodek“ tedy vyjadřuje nejen konkrétní implementaci, ale přeneslo svůj význam i na vlastní algoritmus – byť je to nepřesné.
Podobně říkáme, že audiostopa byla zkomprimována MP3 kodekem, a myslíme tím „MP3 algoritmus implementovaný v nějakém kodeku“, aniž bychom specifikovali, jestli šlo o Fraunhofer MP3 codec nebo LAME. Prostě „nějaký MP3 kodek“.
Zvažoval jsem, zda ponechat nepřesné, ale vžité vyjádření, které je bližší webdesignérům (a které se používá v mnohých programech pro tvorbu videa), nebo zda se držet striktního výkladu „typ multimediálního kontejneru – kompresní algoritmus – kodek“, ale verze, kterou zvolil autor, mi nakonec připadala pro cílovou skupinu pochopitelnější a bližší intuitivnímu chápání („typ kontejneru“ nepochopil nikdo, ale na „formát videa“ řekli: „Jasně, AVI“).
Takže asi tak. Omluvte prosím tuto terminologickou nepřesnost v praktickém článku pro webdesignéry; až bude článek o videu pro programátory, bude se to v něm hemžit kontejnery, kompresními algoritmy a kodeky…

Martin Hložek

Dovolil bych si jen poznámku k poslednímu seznamu „Přehled podpory jednotlivých formátů“. Včera vyšel nový test build Opery 10.6 (http://jdem.cz/fjjd9) a obsahuje už také podporu WebM formátu.

Radek Hulán

„A pro prohlížeče, které nepodporují [video], můžeme degradovat na flashový přehrávač. Dokonce již existují pěkné pluginy např. pro jQuery“ — to bude v praxi fungovat spíše opačně. Flash je „průmyslový standard“, používá jej cca 99% lidí, kodeky jsou u něj vyjasněné, akcelerace pomocí GPU funguje, vývojové nástroje také, stejně tak streaming tohoto videa. O další funkčnosti HTML5 / JS vs Flash není třeba psát, tam je Flash jasně lepší.
V praxi tedy stačí nabídnout Flash, a pokud jej dané zařízení nepodporuje (specifický případ iPad, iPhone), tak degradovat na HTML5 video – konkrétně H.264+ACC (MP4).
Offtopic PS: článku by prospělo, kdyby upustil od těch rozjařených hodnodících výrazů na nezralou technologii a zabýval se jen popisem ;)

pas

No… :) ani já, jako velký příznivce Flashe, bych si netipnul, že Flash zůstane navěky používán na video. Jde-li o primitivní obdélníček s videem, není důvod nepoužít HTML tag video (samozřejmě ne hned, ale až se to v budoucnu stabilizuje). Stejně jako nepoužijeme Flash pro statický obrázek, přestože to taky jde. Flash se hodí pro streamování, pro přenos obrazu z kamery, pro následné zpracování videoobrazu (filtry, transformace…), pro kreativní ovládací prvky, maskování, práci s metadaty, atd. atd… (zvláště, když také bude podporovat VP8).
Mimochodem, asi to Zdrojákem neproběhlo, ale nedávno byl uvolněn Open Source Media Framework pro flashové video:
http://osmf.org/
Prostě, řečeno s Adobe – we love choice. :)

Radek Hulán

„Flash zůstane navěky používán na video“ – to jsem přece nepsal :) Píšu o realitě dneška, a tou je Flash, plus jeho případná degradace na HTML5 pro zařízení, co jej nemají (Apple).

Michal Aichinger

Navíc firmy cpou do videa reklamy, před, za, při přehrávání chtějí posílat na server, že se přehrává, atd. a to se zatím se značkou VIDEO dělat nedá. Proto zatím flash vítězí.

Jakub Onderka

Ale dá, navíc celkem jednoduše.

Martin Malý

Pláčeš na špatném hrobě: „Degradation“, česky (ne)překládáno jako „degradace“, je ve webdesignu technický pojem, nikoli hodnotící. Když na novou technologii (třeba CSS3) není některé zařízení připraveno, a je mu nabídnuta „starší alternativa“, nazýváme tento postup „degradací“. K ujasnění významu pojmu „degradation“ ve webdesignu doporučuji též http://zdrojak.root.cz/clanky/graceful-degradation-vs-progressive-enhancement/
Jen k tomu PS, Radku: „Rozjařené hodnotící výrazy“ v textu vidíš přesně kde (když už máme jasno v té degradaci)?

pas

To je samozřejmě pravda, ale jen bych u těch alternativ místo „starší a novější“ použil spíš „horší a lepší“, „přirozená a … ohackovaná :)“, apod. To se může lišit případ od případu. V oblasti (obyčejného) videa souhlasím, že asi bude degradace tím směrem, jak popisuje článek, protože přehrávání v HTML je přirozenější. V oblasti např. animovaných reklam a podobných věcí ale může být situace opačná – primární přehrávání SWF ve Flash Playeru, s degradací do JS renderování (Smokescreen, apod.). Může se to měnit v čase, souvisí to s mnohem více faktory než je „starší a novější technologie“ a hlavně – ukáže praxe (což chtěl asi hlavně Radek říct).

Martin Malý

Opakuji: „Degradation“ je ve webdesignu neutrální pojem, vyjadřující „odstoupení“ od nové vylepšené technologie v zařízeních, které ji nedovolují zpracovat (v protikladu k „enhancement“, viz výše zmíněný odkaz). Obávám se, že číst slovo „degradace“ v tomto případě coby ekvivalent pro „zhoršení“ je pouze problém neznalosti webdesignérské terminologie.

pas

Já tomu pojmu přece rozumím a od začátku souhlasím. Radek Hulán mu myslím taky rozumí, pouze odhaduje, že degradace povede opačným směrem – zařízení, která nemají nový Flash Player 10.1, použijí staré HTML5. ;-)) Já si to nemyslím (myslím si to třeba ovšem v případě reklamních animací), ale jak to opravdu bude, ukáže až praxe.

Martin Malý

Chápu, jak vás to slovo dráždí svým druhým významem a že je „politicky neúnosné“ přijmout tvrzení „degradovat k Flashovému přehrávači“. Ale vývoj videa na webu v čase je jasný: RealVideo a spol. → Flash → HTML5 Video. Tedy od specifických pluginů přes obecný plugin až k funkci zabudované přímo do prohlížeče… Krok z prohlížeče zpět k pluginu (v prohlížečích, které funkci zabudovánu nemají) je zkrátka označován jako „degradation“, bez ohledu na čísla verzí Flashe a HTML.
Ten fór se starým HTML5 a novým Flash 10.1 je ale moc dobrý. ;)

pas

Vůbec mě to nedráždí, už potřetí opakuju, že si (narozdíl od Radka Hulána) myslím, že video v HTML je přirozenější než ve Flashi a těším se na něj. Degradace k flashovému přehrávači pak bude pravděpodobný přirozený scénář.
Pouze jsem se zamyslel, jak to Radek myslel – psal svůj tip na budoucí realitu, nikoliv hodnocení. Technologie se vyvíjejí a podle toho, která bude v daném čase výhodnější (což je samo o sobě výsledek mnoha faktorů), se bude degradovat směrem A->B nebo B->A nebo dokonce oběma směry, v různých aplikacích týchž technologií.

pas

Uvedu jiný příklad – odpradávna se princip „degradation“ používal při nahrazení flashové animace animovaným GIFem. A to přesto, že k primární technologii byl zapotřebí plugin, zatímco k té degradované nikoliv. Plugin-neplugin totiž není všechno, uživateli je to úplně fuk, jde o výsledek. Flash nebo Silverlight budou samozřejmě s HTML soupeřit i nadále i v tom videu. No a pokud se hypoteticky ukáže, že dosahují lepších výsledků než HTML video, tak asi jen masochista by je nevyužíval. To je evoluce skrze konkurenci, buďme za ni rádi.

Martin Malý

V začátcích webu byly animace řešené GIFem, pak přišla novější technologie, a pro prohlížeče, co novější technologii nemají, je „degradation“ animovaný GIF. S pluginama to nemá nic společného.
Další diskuse je, myslím, zbytečná – základem celého „sporu“ bylo chápání slova „degradace“, a to chápeme, jak jsme si teď ujasnili, stejně. Pro hovory o kvalitě videopřehrávačů navrhuju založit nové vlákno. :)
Ostatně si dovedu představit prohlížeče či knihovny, které budou, v případě Vámi popsané „vyšší technické kvality videa ve Flashi“, interně překládat tag video jako embedded flash objekt. :)

Radek Hulán

Když si Martine přečteš ty komentáře a článek, v němž se hovoří o „… můžeme degradovat na flashový přehrávač. Dokonce již existují pěkné pluginy např. pro jQuery ..“, tak autor zastává rozjásaný (a ničím nepodložený) názor, že HTML5 je použitelné dnes, či dokonce v něčem lepší nebo snad „výhodné“, což prostě není pravda. Dělat video přehrávač pro Flash je nutnost, pro HTML5 volba, a to pouze díky nepodpoře Flashe v iPhone a iPadu.
V ČR se to dá ignorovat (pro video na mobilu je potřeba 3G připojení a to není skoro nikde, Youtube stejně funguje přes speciální aplikaci), takže jen v USA se skutečně k degradaci Flashe na HTML5 video musí sáhnout.
Ty hodnotící prvky typu „vyzkoušejte si nové tagy, je to super, pro nepodporu v prohlížečích tam plácenete Javascript“, to je nadšení, ale ne realita. Čláánku to škodí, na druhou stranu, někdo nenadšený by jej vůbec nenapsal, a to by byla ještě větší škoda :)

JB+

ty ses dobre mimo

Patrik Ján

Degradujeme vzhľadom na funkčnosť, nie vzhľadom na technológie. Čiže video, ktoré reaguje na pohym myšou po webstránke budeme degradovat z Flash na HTML5 a video tvorené animáciou vektorov s fade efektami, ktoré sú vo flashi natívne, degradujeme na tiež z HTML5 na Video. Osobne tento pojem chápem takto. Nie v súvislosti v vývojom tej ktorej technológie.

Patrik Ján

„a video tvorené animáciou vektorov s fade efektami, ktoré sú vo flashi natívne, degradujeme na tiež z HTML5 na Video“
myslené samozrejme „z Flash na Video“ pardon

PeterKahoun

Z mého pozorování není pravda, že degradation nemá hodnotící konotaci. Ano, má, ale většinou je mírněna přívlastky jako „graceful“ (které Honza Sládek ve svém jazyce bohužel někdy vynechává).
(Chtěl-li bych být neutrální, nebylo by lepší mluvit o fallbacku?)
Gracefull degradation vnímám jako poskytnutí *neplnohodnotné* náhrady, tedy z nějakého pohledu k degradaci (poklesu kvality) dochází (například v dojmu uživatele).
Příklad 2: gracefull degradation (v CSS): rgba(255,255,­255,0.8) ⇒ #eee (degradace v původním smyslu je zřejmá).
Příklad 2: kvalitativně stejná náhražka (opět CSS): opacity:0.8 ⇒ filter: alpha(opacity=80);
Takže bych se ptal, jestli je flashový přehrávač videa plnohodnotnou náhradou za HTML5 video, anebo horší, anebo lepší a z toho bych vyvozoval, kterým směrem by se mělo fallbackovat. Problém asi bude, že z nějakého hlediska je flash lepší a zároveň z jiného horší. (Jaké jsou tady argumenty?)
Zajímalo by mě také: jak (technicky) vypadá fallbackování flash->html5 a html5->flash?

bauglir

html5->flash
prohlížeč vezme to první, čemu bude rozumět, tzn. h264+acc(mp3), pokud ne, potom theoru+vorbis, pokud ne, potom flash:
<video width=„320“ height=„250“ controls=„controls“ poster=„poster.jpg“ id=„video“>
<source src=„http://b­auglir.com/nir­vana.mp4“ />
<source src=„http://b­auglir.com/nir­vana.ogg“ />

<object classid=„clsid:d­27cdb6e-ae6d-11cf-96b8–444553540000“
codebase=„http://d­ownload.macro­media.com/pub/shoc­kwave/cabs/flash/swfl­ash.cab#versi­on=9,0,0,0“ width=„650“ height=„555“ id=„VideoPlayer“
>
<param name=„allowScrip­tAccess“ value=„*“ />
<param name=„allowFu­llScreen“ value=„true“ />
<param name=„movie“ value=„flvpla­yer2.swf?vide­o=nirvana.flv“ />
<param name=„image“ value=„poster.jpg“ />
<param name=„quality“ value=„best“ />
<embed src=„flvplayer2­.swf?video=nir­vana.flv“ quality=„best“ width=„640“ height=„500“ name=„VideoPlayer“
allowScriptAc­cess=„*“ allowFullScre­en=„true“ type=„application/x-shockwave-flash“
pluginspage=„http://w­ww.macromedia­.com/go/getflashpla­yer“ />
</object>
</video>

tewy

jj, standardni sada der do systemu s jejichz opravou si adobe moc prace nedava,
castecna funkcnost na windows (katastrofalni nefunkcnost na jinych platformach), neschpnost adobe za 7 let vytvorit 64bit verzi – v tom je flash jasne lepsi

Martin Malý

Flamewar na téma „Flash je zlo!!!“ tu už několikrát proběhl, je zbytečné rozpoutávat další.

Tomas.Haubner

Proc se ten atribut videa nejmenuje treba „thumbnail“?

Kibo

Skvělý článek, díky.
Tom

NN

Občas sa sem vraciam pre informácie a narazil som na chybu v článku: H.264+ACC, IMHO to má byť AAC.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.