Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Webdesignérův průvodce po HTML5 - používáme pohyblivé obrázky

Naposledy jsme si užili teorie a povídali si o stavu implementace elementu <video>. Dnes to bude čistá praxe. Je čas, abychom základy z minula využili a nějaké video publikovali. (Důrazně doporučujeme přečíst si minulý článek, než začnete číst tento). Na závěr článku si doplníme vzdělání ještě o element <audio>.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

První krůčky

Z minula již víme, jak vypadá základní syntaxe tagu video. Neukázali jsme si, ale jak to vypadá v prohlížeči – tak to hned napravme:


Jan Sládek

Screenshot přehrávače videa v prohlížeči Chrome

Obrázek pochází z prohlížeče Google Chrome, v jiném prohlížeči budou ovládací prvky vypadat jinak. Neříkejte, že jste překvapeni, stejně si chcete udělat vlastní. HTML5 nám k tomu nabízí API.

API pro ovládání <video>

Abychom si mohli udělat vlastní ovládací tlačítka (nejčastěji se pro to používá element <button> a CSS), tak máme několik JavaScriptových API, které můžeme volat. Je jich docela dost, my se podíváme jen na několik základních.

Technicky přehrávání <video> (i <audio>) zajišťuje interface nsIDOMHTMLMedi­aElement a to také definuje, co můžeme používat my, jako vývojáři. Více si můžete přečíst třeba u Mozilly.

Jak se s tím pracuje? Například takto spustíte video:

var prahravac = document.getElementsByTagName("video")[0];
prehravac.play();

Skvěle i s příklady to shrnuje Opera (v angličtině).

Podívejme se na některé další možnosti pro ovládání:

  • play() and pause() – první zapne a druhé pozastaví video. Je zajímavé, že neexistuje volání stop().
  • volume – hodnota hlasitosti od 0.0 do 1.0
  • muted – nezávisle na hlasitosti můžete videu vypnout zvuk
  • currentTime – vrací čas v sekundách místa, které se zrovna přehrává

Výborně, tak teď již umíme video ovládat. No jo, ale video v jakém formátu?

Formát videa

Abychom mohli přehrát video, potřebujeme ho nějakým způsobem dostat do toho „správného“ formátu (o kterých jsme mluvili minule).

Protože potřebujeme pokrýt co možná nejvíc prohlížečů, musíme publikovat video alespoň ve dvou formátech, o kterých jsme mluvili (MP4, OGG). Doporučujeme rovnou použít i WebM, začíná se výrazně prosazovat. Časem nám z toho naopak pravděpodobně vypadne OGG, Firefox, kvůli kterému ho potřebujeme, ve své čtvrté verzi již obsahuje podporu WebM.

Pokud tohle absolvujeme (a každé video tedy převedeme do všech třech formátů, což není nikterak krátký proces), tak potřebujeme nějak říct prohlížeči, že si má vybrat. Element <video> nám to umožňuje velmi jednoduše:

<video width="320" height="240" controls>
    <source src="mojevideo.mp4"  type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
    <source src="mojevideo.ogv"  type='video/ogg; codecs="theora, vorbis"'>
    <source src="mojevideo.webm" type='video/webm; codecs="vp8, vorbis"'>
</video>

Prohlížeč pak půjde shora a použije první formát, který zná. Dejte si pozor a první uveďte mp4, prohlížeč Safari v zařízení Apple iPad v současnosti obsahuje chybu a video jinak nepřehraje. (A slyšel jsem, že jeho uživatelů je v Čechách spousta, hned jedenáct takových jich prý bylo na iDevCamp. – Pozn. aut.)

Převádíme video do jednotlivých formátů

Nejjednodušeji převedete video do formátu OGG. Stačí nainstalovat Firefox 3.5+ a jít na adresu http://firefog­g.org/, poté už vás provede průvodce.

Na WebM už si budeme muset pomoci příkazovým řádkem (shellem). Pomůže vám návod pro Windows a pro Linux.

A na MP4 použijeme multiplatformní prográmek HandBrake.

Celý proces skvěle i s obrázky popisuje Mark Pilgrim ve svém Dive into HTML5.

Moment – jak je to s tím licencováním MP4?

Pokud jste pozorně četli předchozí díl, tak si určitě pamatujete, že MP4 (respektive H.264) je patentově chráněno a musí se platit licenční poplatek za užívání. Naštěstí ne na internetu, v tuto chvíli můžeme video v tomto formátu publikovat zdarma až do roku 2015. Co bude pak? Nikdo neví. Ale pět let je dlouhá doba.

Co s IE

Safari, Chrome, Firefox i Opera podporují HTML5 video, určitě budete ale chtít podporovat i Internet Explorer. Tomu nabídneme Flashový přehrávač (který přehrává video ve formátu MP4).

V podstatě neuděláme nic jiného, než že na místo, kde jsme minule uvedli text „Stáhněte si video“, vložíme flashový přehrávač.

<video width="320" height="240" controls>
    <source src="mojevideo.mp4"  type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
    <source src="mojevideo.ogv"  type='video/ogg; codecs="theora, vorbis"'>
    <source src="mojevideo.webm" type='video/webm; codecs="vp8, vorbis"'>
    <object width="320" height="240" type="application/x-shockwave-flash" data="flash.swf">
        <param name="movie" value="flash.SWF">
        <param name="flashvars" value="image=poster.jpg&amp;file=mojevideo.MP4">
        <img src="mojevideo.JPG" width="320" height="240" alt="title"
             title="No video playback capabilities, please download the video below">
    </object>
</video>

A je to.

Nevymýšlejme kolo

Protože v Americe je teď <video> hodně populární (důvod je jediný: iZařízení), tak webdesigneři již vymysleli několik řešení, ve kterých vy použijete tag video a vložíte kus JavaScriptu. Ten už pak zajistí, že když prohlížeč nepodporuje <video>, tak mu předloží flashový prohlížeč.

Mashable představuje 5+1 takovýchto řešení. Pokud chcete <video> začít používat, určitě se na ně podívejte.

<audio>

Situace s <audio>  je vlastně stejná jako s <video>.

Máme tu tři formáty (Ogg Vorbis, MP3, WAV) a každý prohlížeč zase podporuje, co mu připadá nejlepší.

  • Firefox 3.5+ – Ogg Vorbis, WAV
  • Safari 4+ – MP3, WAV
  • Chrome 3+ – Ogg Vorbis, MP3
  • Opera 10.5+ – Ogg Vorbis, WAV

Takže opět potřebujeme více formátů (tentokrát dva), odkážeme na ně stejně jako u <video>  a pro IE degradujeme (toto není cílená provokace, prostě se to slovo ve webdesignérském řemesle používá, jak se snažil vysvětlit v poslední diskusi Martin Malý. – pozn. aut.) na Flash.

Pro zájemce o API dodáme, že je to obdobné jako u <video>, podívejte se na HTML5 Doctor.

A samozřejmě je tu i kus JavaScriptu, který nám implementaci usnadní. Tentokrát se jmenuje jPlayer.

Závěrem

Když se člověk nezabývá problémy s kodeky atd., tak je vlastně implementace HTML5 <video> tagu poměrně jednoduchá a přímočará.

V diskusi pod minulým článkem bylo také naznačeno, že bychom měli spíše říkat degradace z Flashe na HTML5 video. Možná, nevím. Já jen vím, že YouTube a Vimeo pomalu přechází na <video>, Apple se do implementace Flashe nehrne (což otevírá prostor dalším, aby Flash neimplementovali) a jako webdesignérovi se mi příjemněji pracuje s <video>  než s flashovým přehrávačem. Každý si ale nakonec musí udělat na věc vlastní názor. Poslední dva články vám k tomu, doufám, poskytly dostatek informací.

Jan Sládek

Honza Sládek se zabývá webdesignem okolo sedmi let. V současné době působí jako webdesignér a vizionář ve společnosti Clevis. Rád hledá nová řešení.

Kurz SEO - Praha, Brno

DW - Školení SEO
  • Jak fungují vyhledávače a co od nich můžete očekávat.
  • Analýza klíčových slov - kde hledat, jak slova vybrat, jak optimalizovat.
  • Metody linkbuildingu - jak získat zpětné odkazy aniž byste za ně museli platit.
  • Vyhodnocování SEO - nesledujte jen pozice.

Další informace o kurzu SEO »

Akce: Využijte last minute slevu na školení v Brně!

Přehled názorů

Jednodušší řešení pro Internet Explorer
onyx 22. 6. 2010 08:39
Nový
└ 
Re: Jednodušší řešení pro Internet Explorer
dodo 22. 6. 2010 10:56
Nový
 
└ 
Re: Jednodušší řešení pro Internet Explorer
juraj 22. 6. 2010 14:05
Nový
Flash
pas 22. 6. 2010 09:22
Nový
└ 
Re: Flash
Martin Malý 22. 6. 2010 13:29
Nový
 
└ 
Re: Flash
pas 22. 6. 2010 13:59
Nový
 
 
└ 
Re: Flash
Andrej Kvasnica 23. 6. 2010 09:42
Nový
 
 
 
└ 
Re: Flash
pas 23. 6. 2010 10:02
Nový
 
 
 
 
├ 
Re: Flash
Martin Malý 23. 6. 2010 10:03
Nový
 
 
 
 
│
└ 
Re: Flash
pas 23. 6. 2010 10:28
Nový
 
 
 
 
│
 
└ 
Re: Flash
Martin Malý 23. 6. 2010 10:33
Nový
 
 
 
 
│
 
 
└ 
Re: Flash
pas 23. 6. 2010 10:49
Nový
 
 
 
 
│
 
 
 
└ 
Re: Flash
Jan Sládek 28. 6. 2010 11:42
Nový
 
 
 
 
│
 
 
 
 
└ 
Re: Flash
pas 28. 6. 2010 15:42
Nový
 
 
 
 
└ 
Re: Flash
Andrej Kvasnica 23. 6. 2010 10:11
Nový
 
 
 
 
 
├ 
Re: Flash
pas 23. 6. 2010 10:25
Nový
 
 
 
 
 
└ 
Re: Flash
mpscz 3. 7. 2010 19:45
Nový
degradace
pas 29. 6. 2010 23:19
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem