eské vysoké u£ení technické v Praze Fakulta elektrotechnická Katedra po£íta£ové graky a interakce
Bakalá°ská práce
Sluºba pro publikování videa na webu Josef Kortan
Vedoucí práce: Ing. Roman Berka, Ph.D.
Studijní program: Softwarové technologie a management, Bakalá°ský Obor: Web a multimedia 24. kv¥tna 2011
iv
v
Pod¥kování Rád bych pod¥koval Ing. Romanu Berkovi, Ph.D. a Ing. Zde¬kovi Trávní£kovi za cenné rady a pomoc p°i vzniku této bakalá°ské práce.
vi
vii
Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn¥ a pouºil jsem pouze podklady uvedené v p°iloºeném seznamu. Nemám závaºný d·vod proti uºití tohoto ²kolního díla ve smyslu 60 Zákona £. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm¥n¥ n¥kterých zákon· (autorský zákon).
V Praze dne 25. 5. 2011
.............................................................
viii
Abstract This bachelor thesis focuses on problems of online video content publishing. The work analyses current technologies and multimedia formats used for the online video content distribution while considering issues of the maximal playback compatibility. According to the analysis, this thesis deals with design and implementation of the web application used to publish video recordings. The nal web application is implemented by using Zend Framework, HTML5, Adobe Flash, FFMPEG, MySQL and other tools.
Abstrakt Tato bakalá°ská práce se zabývá problematikou publikace videa na webu. Analyzuje sou£asné technologie a formáty, které jsou vyuºívány k distribuci t¥chto videí s ohledem na maximální kompatibilitu p°i p°ehrávání videí. Z t¥chto poznatk· dále £erpá a zabývá se návrhem a implementací webové sluºby, která slouºí k publikaci videozáznam·. Výsledná webová sluºba je implementována pomocí Zend Frameworku, HTML5, Adobe Flash, FFMPEG a dal²ích nástroj·.
ix
x
Obsah 1
Úvod 1.1
1.1.1
2
1
Popis problému, specikace cíle
. . . . . . . . . . . . . . . . . . . . . . . . .
2
P°ehled sou£asných °e²ení této problematiky . . . . . . . . . . . . . .
3
1.1.1.1
YouTube.com . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.1.2
Vimeo.com
. . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.1.1.3
Arty£ok.TV . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2
Vymezení cíl· práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3
Struktura práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Analýza a návrh °e²ení
9
2.1
9
Prezentace multimediálního obsahu na webu . . . . . . . . . . . . . . . . . . 2.1.1
Multimediální kontejnery podporované na webu
2.1.2
Videoformáty podporovované na webu
. . . . . . . . . . . . . . . . .
11
2.1.3
Audioformáty podporovované na webu
. . . . . . . . . . . . . . . . .
12
2.1.4
Doru£ování videoobsahu do webového prohlíºe£e . . . . . . . . . . . .
14
2.1.5
Cílové platformy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.1.6
Technologie pro p°ehrávání videosoubor· na webu . . . . . . . . . . .
16
2.1.6.1
Adobe Flash
. . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.1.6.2
HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.1.6.3
Silverlight . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.1.7 2.2
. . . . . . . . . . . .
. .
20
Návrh architektury webové sluºby . . . . . . . . . . . . . . . . . . . . . . . .
21
2.2.1
21
2.2.2
Finální rozhodnutí výb¥ru technologie a multimediálních formát·
10
Scéna°e pro vytvo°ení webové sluºby
. . . . . . . . . . . . . . . . . .
2.2.1.1
Pokra£ování ve vývoji aplikací z p°edm¥tu Y39MM1
. . . .
21
2.2.1.2
Vyuºití dostupných open-source projekt· . . . . . . . . . . .
21
2.2.1.3
Vytvo°ení nové sluºby s vyuºitím frameworku
. . . . . . . .
23
2.2.1.4
Finální rozhodnutí pro postup ve vývoji webové sluºby . . .
24
Uºivatelské role a jejich poºadavky na webovou sluºbu
. . . . . . . .
25
2.2.2.1
Náv²t¥vník
. . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.2.2.2
Uºivatel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.2.2.3
Administrátor . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3
Návrh modelové struktury aplikace
2.2.4
Zapezpe£ení aplikace proti neoprávn¥nému zp·sobu uºití
2.2.5
Zp·sob vyhledávání dat
2.2.6
Enkódování videí 2.2.6.1
. . . . . . . . . . . . . . . . . . .
25 27
. . . . . . .
28
. . . . . . . . . . . . . . . . . . . . . . . . .
28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Nástroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
xi
xii
OBSAH
2.2.6.2 3
4
5
Autorská práva . . . . . . . . . . . . . . . . . . . . . . . . .
Realizace
30 31
3.1
Prost°edky a technologie pro realizaci webové sluºby
. . . . . . . . . . . . .
31
3.2
Struktura webové sluºby . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.3
Zabezpe£ení neve°ejné £ásti webové sluºby
. . . . . . . . . . . . . . . . . . .
33
3.4
Komunikace s databázovým serverem . . . . . . . . . . . . . . . . . . . . . .
35
3.5
Vyhledávání dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.6
Implementace fallback videop°ehráva£e
3.7
Implementace enkódování videa
. . . . . . . . . . . . . . . . . . . . .
38
. . . . . . . . . . . . . . . . . . . . . . . . .
39
Testování
43
4.1
Testování p°i vývoji webové sluºby
. . . . . . . . . . . . . . . . . . . . . . .
43
4.2
Testování kompatibility p°ehráva£·
. . . . . . . . . . . . . . . . . . . . . . .
44
Záv¥r
47
Literatura
49
A
Seznam pouºitých zkratek
53
B
Instala£ní a uºivatelská p°íru£ka
55
C
B.1
Poºadavky na systém . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
B.2
P°íprava databázového serveru MySQL . . . . . . . . . . . . . . . . . . . . .
55
B.3
Nahrání webové sluºby na Apache Server . . . . . . . . . . . . . . . . . . . .
56
B.4
Kongurace p°ipojení k databázi
B.5
Nastavení CRONu
B.6
P°ístup do neve°ejné £ásti
Obsah p°iloºeného DVD
. . . . . . . . . . . . . . . . . . . . . . . .
56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
57 59
Seznam obrázk· 1.1
P°idávání videí. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Prezentace videí.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
YouTube.com 7.5.2011. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.4
Vimeo.com 28.4.2011. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.5
Arty£ok.tv 28.4.2011. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1
Schéma zpracování digitálního videa na webu.
2.2
Loga cílových platforem.
2.3
Tabulka pokrytí technologie Adobe Flash.
. . . . . . . . . . . . . . . . . . .
17
2.4
Ukázka technologie Silverlight. . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.5
Cílové platformy.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.6
Semestrální projekty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.7
Ociální stránky corp.kaltura.org. . . . . . . . . . . . . . . . . . . . . . . . .
23
2.8
Knihovny v Zend Frameworku.
24
2.9
Uºivatelské poºadavky na webovou sluºbu. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
. . . . . . . . . . . . . . . . . . . . . . . . .
2.10 Základní modelová struktura aplikace zobrazena pomocí domain modelu.
27
. . . . . . . . . . . .
29
. . . . . . . . . . . . . . . . . . . . . . . .
30
2.11 Návrh zp·sobu zobrazování videosoubor· v p°ehráva£i. 2.12 Piktogramy v Creative Commons
26
. .
3.1
Zjednodu²ené schéma struktury webové sluºby.
3.2
Zabezpe£ení p°ihla²ovacího formulá°e s vyuºitím CAPTCHA.
. . . . . . . . . . . . . . . .
3.3
Komunikace webové sluºby s DB.
32
. . . . . . . .
34
. . . . . . . . . . . . . . . . . . . . . . . .
36
3.4
Ukázka ve°ejné £ásti webové sluºby s vyhledáváním. . . . . . . . . . . . . . .
37
3.5
Ukázka neve°ejné £ásti webové sluºby s vyhledáváním. . . . . . . . . . . . . .
38
3.6
Implementace videop°ehráva£e Video JS. . . . . . . . . . . . . . . . . . . . .
39
3.7
Schéma zp·sobu implementace enkódování videosouboru.
. . . . . . . . . .
40
3.8
Sou£asný vzhled rozhraní pro enkódování videí.
. . . . . . . . . . . . . . . .
42
4.1
Plugin ZFDebug - databázový dotaz.
. . . . . . . . . . . . . . . . . . . . . .
44
4.2
Plugin ZFDebug - debugování. . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.3
Plugin Firebug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.4
Testování na iPadu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
xiii
xiv
SEZNAM OBRÁZK
Seznam tabulek 2.1
Tabulka kompatibility HTML5 s cílovými platformami. . . . . . . . . . . . .
xv
18
xvi
SEZNAM TABULEK
Kapitola 1 Úvod Je²t¥ p°ed n¥kolika lety byl internet po£íta£ovou sítí ur£enou p°eváºn¥ pro sdílení textových informací, p°ípadn¥ statických obrázk·. Datové toky na sítích v²ak postupn¥ nar·staly. Poºadavky spole£nosti na podobu sluºeb poskytovaných na internetu se zvy²ovaly. V dne²ní dob¥ není internet pouhým nástrojem pro sdílení statických informací, ale stal se z n¥j nekone£ný zdroj multimediálního obsahu, který obklopuje uºivatele ze v²ech stran. P°íkladem tohoto multimediálního obsahu je také video, které se stalo nepostradatelnou sou£ástí internetu. Videosoubory, sdílené prost°ednictvím internetu, jsou zdrojem nejen uºite£ných informací, ale i zábavy a reklamy. Cílem této práce je prozkoumat aktuální situaci týkající se distribuce videa na webu. Práce s t¥mito poznatky dále pracuje a klade si za cíl vytvo°it webovou sluºbu, která bude zaji²´ovat komletní cyklus od enkódování videí aº po jejich prezentaci skrze webový prohlíºe£.
1
2
KAPITOLA 1.
ÚVOD
1.1 Popis problému, specikace cíle Hlavním cílem této práce je vytvo°it webovou sluºbu, která bude umoº¬ovat snadnou prezentaci a organizaci videosoubor· na webovém serveru. Jako p°íklad m·ºeme uvést nap°íklad divadelní organizaci, která má ve svém videoarchivu nast°ádáno za dobu svojí existence desítky videozáznam· z r·zných p°edstavení. Tyto záznamy jsou po°ízeny v r·zných digitálních záznamových formátech. Divadelní spole£nost by je cht¥la zve°ejnit na svém webu. V podstat¥ má n¥kolik moºností, jak toho docílit. Jednou z moºností je vyuºít n¥který ze server· pro sdílení videa (Vimeo.com, YouTube.com, Kaltura.com, ...), které nabízí r·zné placené £i neplacené programy pro tyto p°ípady. Nebo m·ºe zvolit jinou cestu a nechá si vytvo°it sv·j vlastní systém, který bude p°esn¥ odpovídat poºadavk·m organizace. Tato na míru vytvo°ená webová sluºba nebude obklopena nap°íklad reklamními bannery (pokud si to organizace nep°eje) a ve²kerý digitální obsah bude pln¥ pod kontrolou organizace (resp. administrátora, který pro n¥ sluºbu spravuje).
Tato webová sluºba pro prezentaci videí ve své podstat¥ °e²í n¥kolik problém·:
Z pohledu uºivatele, který chce prezentovat své videosoubory by m¥la aplikace poskytovat rozhraní, p°es které jsou tyto videosoubory spravovány. Toto rozhraní bývá v¥t²inou neve°ejné a je chrán¥no proti neoprávn¥nému p°ístupu. V tomto rozhraní má uºivatel také moºnost p°idávat své videosoubory, ke kterým dopl¬uje r·zná metadata (název videa, rok nato£ení, ºánr, ²títky, ...). Takto p°idané video je systémem dále zpracováno a enkódováno do formát· pouºitelných pro prezentaci ve webovém prohlíºe£i (nap°. mp4, .v, .ogv; detailní popis t¥chto formát· nalezneme v analytické £ásti této práce). Pr·b¥h p°idání videa je jednodu²e zachycen na obrázku 1.1. Z pohledu náv²t¥vníka, který webovou sluºbu pouºívá, je d·leºité n¥kolik faktor·. Náv²t¥v-
uživatel přidání videa s metadaty
webová služba neveřejné rozhraní (správa videoobsahu)
komprimace a uložení videa s metadaty
datové úložiště
Obrázek 1.1: Schéma p°idávání videí z pohledu uºivatele webové sluºby.
ník by m¥l mít moºnost na základ¥ metadat, která jsou u videozáznamu uvedena, vyhledat poºadované video. Po nalezení poºadovaného videa by m¥la webová sluºba °e²it otázku, která se týká prezentace tohoto videa ve webovém prohlíºe£i. Samotná prezentace videí ve webovém prohlíºe£i je problematická a doposud neexistuje ucelené standardizované °e²ení, které by vy°e²ilo problém kompatibility p°ehrávání na v²ech platformách. Uºivatel je ve v¥t²in¥ p°ípad· nucen mít nainstalované r·zné externí pluginy (Adobe Flash, Silverlight, Real Player, ...). e²ením by do budoucna m¥la být technlogie HTML5 Video, která je uº nyní nativn¥ podporována v¥t²inou webových prohlíºe£· i p°esto, ºe je stále ve fázi vývoje.
1.1.
POPIS PROBLÉMU, SPECIFIKACE CÍLE
3
Proces je schématicky zachycen na obrázku 1.2.
návštěvník
vyhledání videa pomocí metadat
prezentace videa
webová služba
veřejné rozhraní
(prezentace video obsahu)
vyhledání videosouboru
zaslání požadovaného videosouboru
datové úložiště
Obrázek 1.2: Schéma prezentace videí z pohledu náv²t¥vníka webové sluºby.
1.1.1 P°ehled sou£asných °e²ení této problematiky Na webu existuje nep°eberné mnoºství server· pro sdílení videí (angl. video-share sites). V této £ásti jsou p°edstaveny n¥které projekty, které autor povaºuje za p°ínosné pro tuto práci.
1.1.1.1
YouTube.com
Projekt YouTube je momentáln¥ nejv¥t²ím internetovým portálem pro sdílení a archivaci videií na sv¥t¥. Portál byl zaloºen v únoru roku 2005 t°emi bývalými zam¥stnanci PayPalu (Chad Hurley, Steve Chen, Jawed Karim). V listopadu roku 2006 byl za 1,65 miliardy dolar· (tehdy cca 37 miliard K£) zakoupen spole£ností Google, která ho vlastní dodnes. YouTube obsahuje r·znorodé druhy videí (hudební klipy, trailery, videoblogy, amaterská videa, ...). asto bývá vyuºíván mediálními spole£nostmi (CBS, BBC, Vevo, Hulu), které ho pouºívají pro sdílení vlastního autorského obsahu v rámci partnerského programu, který YouTube nabízí. Pro prezentaci videí pouºívá technologii Adobe Flash. V lednu 2010 byla na stránkách projektu spu²t¥na experimentální verze HTML5 p°ehráva£e. Zajímavé je, ºe v roce 2007 byl datový tok mezi uºivateli a servery YouTube velký tak jako datový tok na celém internetu v roce 2000. V roce 2010 bylo na blogu YouTube uvedeno, ºe kaºdou minutu je na servery nahráno 35 hodin nového videozáznamu. Podle spole£nosti Alexa je YouTube t°etí nejnav²t¥vovan¥j²í stránkou na internetu. Videa jsou aktuáln¥ enkódovaná v MP4 (H.264 + AAC) formátu v r·zných kvalitách a rozli²eních. Rozm¥ry videí jsou rozli²eny podle maximální vý²ky (resp. ²í°ky) kódovaného videa v pixelech (360p, 480p, 720p, 1080p, ...). V kv¥tnu 2010 bylo na YouTube uve°ejn¥no první video v rozli²ení 4096x3072 [39]. 19. dubna 2011 bylo na ociálním blogu spole£nosti, která YouTube vlastní, oznámeno [12], ºe ve²kerá videa p°evádí do formátu WebM (VP8 + Vorbis). Proces p°evodu do jiného formátu souvisí s problémy ohledn¥ patent· a licen£ních poplatk·, které se vztahují na formát H.264. Sou£asná podoba portálu je zobrazena na obrázku 1.3.
4
KAPITOLA 1.
ÚVOD
Výhody:
•
nejpouºívan¥j²í platforma na sv¥t¥ pro prezentaci videí
•
snadné vyhledávání (vyuºívající vyhledávací engine od Googlu)
•
rozsáhlé aplika£ní rozhraní pro tv·rce webu a jeho integrace do r·zných mobilných platforem (Android, iPhone, ...)
•
vytvá°ení alb, skupin, kanál·, playlist·, komentá°e, ...
Nevýhody:
•
reklama
•
r·znorodý multimediální obsah bez záruky kvality (£áste£n¥ vy°e²eno systémem pro zobrazování populárních videí)
•
problémy s poru²ováním autorských práv (£áste£n¥ vy°e²eno systémem pro kontrolu autorských práv)
Obrázek 1.3: Podoba YouTube.com 7. kv¥tna 2011. Zdroj [52].
1.1.1.2
Vimeo.com
Vimeo je webový portál pro nahrávání, sdílení a prezentaci videí. Portál byl zaloºen v listopadu roku 2004. Autory tohoto projektu jsou Zach Klein a Jake Lodwick. Název vznikl jako slovní anagram slova video a me (z ang. moje). Vimeo se od YouTube li²í nap°íklad tím, ºe není ur£en masové spole£nosti, ale je zam¥°en spí²e na um¥leckou komunitu (audiovizualní
1.1.
POPIS PROBLÉMU, SPECIFIKACE CÍLE
5
tvorba, experimentální lmy, ...). Mimo jiné Vimeo nepodporuje komer£ní videa, herní videa a
1
pornograi. Jedním z pravidel je také to, ºe uºivatel nahrávající videa musí být jejich au-
torem. Vimeo podporuje p°ehrávání videí ve vysokém rozli²ení 720p a 1080p. Videosoubory na portálu jsou v sou£asné dob¥ ukládánany do MP4 formátu. Vimeo nabízí pro své uºivatele dva programy - Basic a Vimeo Plus. Basic je bezplatná sluºba, která umoº¬uje nahrát videa v celkové velikosti 500 MB za týden (z toho pouze jedno video ve vysokém rozli²ení 720p za týden). Oproti tomu Vimeo Plus je placená sluºba ($59.95/rok nebo $9.95/m¥síc), která umoº¬uje nahrávat 5 GB videozáznamu za týden. Z tohoto datového limitu m·ºe být libovolné mnoºství videí v rozli²ení aº 1080p. Navíc jsou uºivatelé této sluºby odpro²t¥ni od reklamy a mají r·zné priority, nap°íklad p°i nahrávání, správ¥ a zabezpe£ení dat. Oproti základní sluºb¥ jsou na ú£tu zachována i originální neenkódovaná videa [37]. K prezentaci dat pouºívá Vimeo technologie Adobe Flash a experimentáln¥ HTML 5 video. Výhody:
•
komunitn¥ zam¥°ená sluºba s kvalitním videoobsahem
•
p°ísná komunitní pravidla (°e²í nap°íklad neoprávn¥né zneuºívání autorských d¥l)
•
vytvá°ení alb, skupin, kanál·, komentá°e, ...
•
Vimeo Awards (sout¥º mezi uºivateli této sluºby o nejlep²í videa roku)
Nevýhody:
•
reklama
Obrázek 1.4: Podoba Vimeo.com 28.dubna 2011. Zdroj [49].
1 21.£ervna 2008 oznámil Blake Whitman (Community Director), ºe sluºba nebude podporovat herní videa. Tyto videa sluºbu znateln¥ zat¥ºují a bývají v¥t²inou del²í neº ostatní povolený obsah. V²echna herní videa, která byla nahraná do této doby byla smazána také [6].
6
KAPITOLA 1.
1.1.1.3
ÚVOD
Arty£ok.TV
Portál Arty£ok.TV je nezávislá internetová televize, která vznikla jako projekt Digitální laborato°e AVU (Akademie výtvarných um¥ní) v Praze. Na tomto portálu jsou publikována videa ze sou£asné výtvarné scény (reportáºe z vernisáºí a výstav, rozhovory s um¥lci, rozhovory s kurátory, záznamy workshop·, ...). Projekt se postupn¥ rozvíjí a je do n¥j zapojena °ada um¥leckých ²kol z eské republiky i zahrani£í (Ústav um¥ní a designu Západo£eské univerzity v Plzni, Fakulta výtvarných um¥ní Vysokého u£ení technického v Brn¥, Univerzita Jana Evengelisty Purkyn¥ v Ústí nad Labem, University of Fine Arts v Budape²ti). První vysílání bylo 9.února 2006 a p·vodn¥ byla pro streamování videií pouºívaná technologie Windows Media Player, kterou pozd¥ji nahradila technologie Adobe Flash. Na portálu je moºné stáhnout si i videa v HD kvalit¥. Tyto videa nelze p°ehrávat pomocí webového p°ehráva£e a je moºné je stáhnout ve formátu MP4 [23]. Portál je zaloºen na redak£ním systému Wordpress. Sou£asná podoba portálu je zobrazena na obrázku 1.5 Výhody:
•
úzce specializovaný portál s kvalitním obsahem
•
£lánky, akce, novinky ze sv¥ta sou£asného um¥ní
Nevýhody:
•
uzav°ená komunita p°isp¥vovatel·
•
nemoºnost nahrávání a enkódování videí p°es ve°ejné webové rozhraní
Obrázek 1.5: Podoba Arty£ok.tv 28. dubna 2011 . Zdroj [4].
1.2.
VYMEZENÍ CÍL PRÁCE
7
1.2 Vymezení cíl· práce Cílem této bakalá°ské práce bude vytvo°ení webové sluºby, která bude umoº¬ovat publikování videozáznam· za spln¥ní t¥chto podmínek:
•
zmapování aktuální situace pouºívaných technologií pro prezentaci videa na webu
•
návrh webové sluºby prob¥hne s vyuºitím zdroj·, které vznikly v rámci p°edm¥tu Y39MM1
•
implementace webové sluºby bude zprovozn¥na na serveru v prost°edí IIM
•
webová sluºba bude implementovaná na technologiích LAMP
•
prezentace videí bude kompatibilní s maximálním po£tem dnes pouºívaných platforem
•
webová sluºba poskytne rozhraní pro enkódování a archivaci videozáznam· na úrovni
2
souborového systému
•
videozáznamy bude moºné za pouºití metadat snadno vyhledávat
•
webová sluºba bude zohled¬ovat neoprávn¥ný p°ístup k videoobsahu a bude rozd¥lena na základ¥ uºivatelských rolí
Webová sluºba bude vyuºívat Model-View-Controller architektury (dále MVC). Architektura webové aplikace by dále m¥la poskytnout stabilní základ, který bude moºné v p°ípad¥ pot°eby roz²i°ovat a upravovat s maximálním ohledem na efektivnost vykonané práce.
2 LAMP je zkratka, která v informatice ozna£uje sadu svobodného softwaru pouºívaného jako platforma pro implementaci dynamických webových stránek., (citace [29])
8
KAPITOLA 1.
ÚVOD
1.3 Struktura práce Analytická a návrhová £ást této práce podává základní informace o tom, co video vlastn¥ je a v jakých formách je nej£ast¥ji prezentováno na webu
3
. Dále se pokou²í podat ucelený pohled
na problematiku týkající se sou£asných technologií pro prezentaci multimediálního obsahu s ohledem na kompatibilitu na r·zných platformách. P°ibliºn¥ ve druhé polovin¥ této kapitoly rozebírá autor moºnosti zp·sobu vytvo°ení samotné webové sluºby. Na základ¥ toho rozboru se detailn¥ji v¥nuje klí£ovým £ástem návrhu samotné webové sluºby. Kapitola pojednávající o zp·sobu implementace zachycuje r·zné druhy °e²ení problém· p°i realizaci webové sluºby. Nap°íklad rozhraní pro enkódování videí, °e²ení problematiky týkající se bezpe£nosti aplikace £i zp·sobu vyhledávání videozáznam·. Na záv¥r autor uvádí výsledky testování webové sluºby a nakonec informuje £tená°e o celkovém záv¥ru a p°ínosu této bakalá°ské práce.
3 Word Wide Web (WWW), neboli web je sluºba (aplikace), která je provozována na internetu. Mnohdy je tato sluºba nesprávn¥ ozna£ovaná jako internet. (zdroj: http://cs.wikipedia.org/wiki/World_Wide_Web)
Kapitola 2 Analýza a návrh °e²ení V první £ásti této kapitoly se budeme zabývat problematikou samotného zp·sobu prezentace multimediálního obsahu na webu. Denujeme si cílové platformy, pro které má být webová sluºba ur£ena a na základ¥ získaných poznatk· se rozhodneme, jaké technologie pro prezentaci videoobsahu bude webová sluºba pouºívat. K tomuto rozhodnutí bude vyuºito i poznatk· získaných na základ¥ dokumentace, která vznikla jako sou£ást k semestrálnímu projektu Video archiv
1
viz. [15]. V druhé £ásti této kapitoly se zabýváme zp·sobem návrhu
webové sluºby a jejích klí£ových vlastností.
2.1 Prezentace multimediálního obsahu na webu Termín multimedia m·ºeme podle encyklopedie Wikipedia [32] chápat (mimo jiné) jako médium, které obsahuje r·zné formy obsahu (video, text, audio, animace, statický obraz, interakci). V této práci se budeme zabývat multimediálním obsahem, který je sestaven z videostream· a audiostream· (stop, dále uvád¥no pod názvem stream). Tento multimediální obsah budeme zjednodu²en¥ nazývat video (z latiny, vid¥t). Video je technologie [36], která umoº¬uje zachycení, zaznamenání, p°ehrávání, p°enos a obnovu pohyblivých obrázk·, pouºívající elektronické signály nebo digitální média. Pojem video ozna£uje jednak digitální a jednak analogový zp·sob ukládání obrazových záznam·. Video m·ºe být p°ená²eno a po°izováno v r·zných formátech. Uve¤me nap°íklad videokazety, DVD, £i p°ímé televizní vysílání. Tato práce se zam¥°uje na video v digitální podob¥, které je ukládáno pomocí videostream· do tzv. multimediálního kontejneru. Videostream uloºený v multimediálním kontejneru neobsahuje audiozáznam. Z tohoto d·vodu je v¥t²inou ukládán do multimediálního kontejneru také audiostream, který je s videostreamem v multimediálním kontejneru synchronizován. Jednoduchá struktura uloºení dat v multimediálním kontejneru je znázorn¥na na 2.1.
1 Tato práce byla poskytnuta Institutem Intermédií a zabývá se problematikou prezentace videí na webu. Mimo jiné obsahuje rozsáhlou °e²er²i p°ehráva£·, která ov²em nezahrnuje technologii HTML5 Video.
9
10
KAPITOLA 2.
ANALÝZA A NÁVRH EENÍ
2.1.1 Multimediální kontejnery podporované na webu Multimediální kontejner [24] je v podstat¥ datová obálka, do které je ukládán multimediální obsah. Kaºdý kontejner má svou specikaci (formát), který p°edepisuje vlastnosti daného multimediálního kontejneru. Existuje nep°eberné mnoºství multimediálních kontej-
2
ner· , které se mimo jiné li²í nap°íklad kompatibilitou s r·znými druhy video a audiostream·. Zde je uveden p°ehled nejznám¥j²ích multimediálních kontejner· pouºívaných na webu:
•
QuickTime container (.mov) - Formát, který byl vyvinut pro p°ehráva£ QuickTime Player spole£ností Apple. Byl vyvíjen jako konkurence pro videoformát Audio Video Interleave (AVI) od spole£nosti Microsoft. Zajímavostí je, ºe datové stopy ukládá v datových strukturách nazývaných atomy. Kaºdý atom má svojí hlavi£ku s informací o typu uloºených dat a referenci na datové úloºi²t¥. Nejnov¥j²í verze formát· (aktuální verze je 7.1.3 vydaná 12. zá°í 2006) umoº¬ují r·zné seskupování a manipulování s atomy. S tímto formátem se v dne²ní dob¥ setkáme nap°íklad u lmových trailer·, které jsou distribuovány p°es webové stránky Applu [30].
•
MPEG 4 Part 14 (.mp4, .m4v) - Formát povaºovaný za následníka QuickTime kontejneru, se kterým se £áste£n¥ shoduje v jeho specikaci. Podle [31] se jedná o formát, který je nej£ast¥ji pouºíván pro uchování video a audiostream·, které jsou denovány
3
podle standard· MPEG (Moving Picture Experts Group) .
•
Flash Video (nej£ast¥ji .v, .f4v) - Formát .v vytvo°ený spole£ností Macromedia, kterou pozd¥ji koupila spole£nost Adobe Systems. Formát je pouºíváný pro p°ehráva£ Adobe Flash Player (podporovaný ve verzích 6-10). Nov¥j²í verze tohoto formátu .f4v je zaloºena zaloºena na ISO base media le format
4
a je podporována technologií Adobe
Flash Player od verze 9 update 3. Nejnov¥j²í verze Adobe Flash Playeru podporují formát MPEG 4 Part 14, který Flash Videoformát postupn¥ nahrazuje [26].
•
Ogg (nej£ast¥ji .ogv) - Jedná se o otev°ený kontejnerový formát, který spravuje spole£nost Xiph.Org Foundation. Není zatíºen ºádnými softwarovými patenty a podle slov spole£nosti je vytvo°en pro ú£ely efektivního streamování obsahu a manipulace s digitálním obsahem vysoké kvality. Informace jsou £erpány z [51] a [33]
•
WebM (.webm) - Relativn¥ nový formát, který je podobn¥ jako Ogg ur£en pro manipulaci s digitálním obsahem ve vysokém rozli²ení. Tento formát byl vytvo°en za podpory spole£nosti Google. Je p°eváºn¥ ur£en pro technologii HTML5. Jeho pouºívání je podporováno spole£nostmi Mozilla, Opera, Adobe Systems, Youtube a mnoha
5
jinými. Formát vychází ze specika multimediálního kontejneru Matroska , který je stále £ast¥ji pouºíván pro p°enos videa ve vysokém rozli²ení na internetu.
2 Rozsáhlé
porovnání
nejznám¥j²ích
kontejner·
nalezneme
nap°íklad
na
stránce
http://en.wikipedia.org/wiki/Comparison_of_container_formats.
3 MPEG je skupina expert·, která byla vytvo°ena za ú£elem vytvá°ení standard· pro audio a video. Tyto
standardy se p°eváºn¥ týkají komprese a p°enosu multimediálních dat [19].
4 ISO base media le format je norma, která udává standard pro základní strukturu multimediálního kon-
tejneru. Z tohoto formátu vychází i specikace multimediálního kontejneru MPEG 4 Part 14. Více informací je moºné naleznout na http://en.wikipedia.org/wiki/ISO_base_media_le_format).
5 Základní informace o tomto formátu nalezneme na http://en.wikipedia.org/wiki/Matroska.
2.1.
PREZENTACE MULTIMEDIÁLNÍHO OBSAHU NA WEBU
11
2.1.2 Videoformáty podporovované na webu Samotný videostream bývá p°ed uloºením do kontejneru enkódován pomocí tzv. video kodeku. Video kodek (z angl. CODEC - kombinace slov COder a DECoder) je skute£ná (hardwarová £i softwarová) implementace algoritmu, který p°edepisuje jakým zp·sobem má být videostream enkódován a jakým zp·sobem má být videostream dekódován p°i samotném
6
p°ehrávání . Kodeky se d¥lí na ztrátové (dochází ke ztrát¥ informace z p·vodního zdroje) a bezztrátové (ke ztrát¥ informace zde nedochází). Pro prezentaci videa na webu jsou p°eváºn¥ pouºíváné ztrátové kodeky. Tyto kodeky umoº¬ují sníºit p·vodní objem dat originálního videosouboru p°i zachování relativn¥ dobré (subjetivní hodnocení, záleºí na pozorovateli) obrazové kvality. Výsledná kvalita komprimovaného videostreamu závisí na mnoha faktorech, které je moºné b¥hem enkódování ovlivnit (nap°íklad obrazové rozli²ení, datový tok, ...). erpáno z [16] a [18]. V následující £ásti jsou uvedeny t°i nejpouºívan¥j²í videoformáty na webu:
•
H.264
- Formát, který byl v vyvinut skupinou MPEG a v roce 2003 byl uznán jako
standard. Je znám pod názvy MPEG-4 part 10, MPEG-4 AVC (Advanced Video Coding). Standard je ur£en tak°ka pro ve²kerá za°ízení, která s videostreamy pracují. Ve své specikaci obsahuje H.264 celkem 17 prol·, které se li²í podle individuálního nastavení (obrazového rozli²ení, datového toku, ..) a typu za°ízení, pro které je výsledné enkódované video ur£eno. Pro p°edstavu uvádíme n¥které z t¥chto prol·
7
. Nejpo-
uºívan¥j²í tzv. baseline proly jsou ur£eny pro pouºití v aplikacích, které nevyºadují vysokou kvalitu videostreamu (mobilní aplikace, videokonferen£ní aplikace). Tzv. main prole je ur£en pro ú£ely DVB (Digital Video Broadcasting neboli pozemní digitální vysílání). Tento prol byl p·vodn¥ pouºíván i pro práci s HD (High denition) videem, ale v roce 2004 byl pro tyto ú£ely vytvo°en tzv. high prole. High prole je dnes pouºíván pro HDTV (High-denition television) a slouºí jako prol, ve kterém jsou ukládány
8
videostreamy na Blu-ray nosi£e. Videostream enkódovaný pomocí H.264 býva na webu nej£ast¥ji uloºen v MPEG 4 Part 14 (dále MP4) kontejneru. Existuje mnoho softwarových a hardwarových implementací tohoto formátu. Jmenujme nap°íklad x264 (pouze enkodér), MainConcept, Elecard. Formát je patentov¥ zatíºen a jeho licen£ní vyuºívání
9
má pod kontrolou skupina MPEG LA . V souvislosti s formátem H.264 jsou spojeny problémy týkající se licen£ním poplatk·
10
na zp·sob vyuºívání tohoto formátu. Zdroje
[27] a [18].
•
Theora
- Specikace formátu je odvozena od formátu VP3
11
formátu. Byl vyvinut
spole£ností Xiph.Org Foundation jako sou£ást projektu Ogg a je svobodn¥ distribuo-
6 Podle [16] je nutné rozli²ovat mezi pojmem kodek a formát. Formát je standard (specikace) a kodek je skute£nou implementací tohoto standardu.
7 Podrobn¥j²í informace nalezne £tená° nap°íklad na [27]. 8 Technologie pro uchovávání HD videa a audia. Informace o technologii Blu-ray nalezneme nap°íklad na
http://cs.wikipedia.org/wiki/Blu-ray.
9 MPEG LA je organizace, která se zabývá licencemi a patenty pro vyuºívání r·zných videoformát·
(AVC/H.264, MPEG-2, MPEG-4, ..). MPEG LA je samostatná organizace a její správa nespadá pod skupinu MPEG.
10 Aktuální situace je p°ehledn¥ popsána nap°íklad na [18]. 11 Informace o tomto formátu jsou k nalezení na http://en.wikipedia.org/wiki/VP3.
12
KAPITOLA 2.
ANALÝZA A NÁVRH EENÍ
ván. Za jeho pouºívání není pot°eba platit licen£ní poplatky. Formát byl vyvinut jako otev°ená alternativa k formát·m MPEG-4/DiVX a dokáºe pracovat s videostreamy ve vysokém rozli²ení. Ociální vývoj specikace formátu byl ukon£en v roce 2004. Implementací tohoto formátu je nap°íklad videokodek libtheora, který je napsán v jazyce C a ²í°en pod BSD licencí
12
. 24. zá°í 2009 byla uvoln¥na poslední verze této imple-
mentace ve verzi 1.1. Videostream enkódovaný pomocí Theory je nej£ast¥ji ukládán do multimediálního kontejneru Ogg s audiostreamem enkódovaným do formátu Vorbis
•
13
. Uvedenené informace byly £erpány z [35],[50] a [18].
VP8 - Formát, který byl vyvinut spole£ností On2 Technologies a byl p°edstaven ve°ejnosti 13. zá°í 2008. Spole£nost On2 Technologies pozd¥ji koupila rma Google, která 19. kv¥tna 2010 poskytla VP8 formát voln¥ k dispozici (Formát je pod tzv. Creative Commons licencí
14
). Sou£asn¥ s uve°ejn¥ním formátu poskytla i jeho softwarovou im-
plementaci libvpx, která je poskytovaná pod BSD licencí. Videostream enkódovaný do formátu je nej£ast¥ji ukládán do multimediálního kontejneru WebM. Spole£nost Google v tomto formátu vidí budoucnost a snaºí se jím nahradit formát H.264, u kterého není dosud jasné, zda bude jeho uºivatel platit licen£ní poplatky za jeho pouºívání £i nikoliv. Informace byly £erpány z [38] a [18].
2.1.3 Audioformáty podporovované na webu Podobn¥ jako videostream uloºený v multimediálním kontejneru je také audiostream p°ed jeho uloºením enkódován pomocí audiokodeku (jako v p°ípad¥ videokodek· zde platí, ºe audiokodek je softwarovou nebo hardwarovou implementací audioformátu resp. specikace). Audiokodeky se také dají rozd¥lit na ztrátové a bezztrátové. Na webu jsou pouºívány ztrátové kodeky, které jsou obdobn¥ jako ztrátové videokodeky optimalizovány pro sníºení datového toku p°i zachování kvality zvukového záznamu pouºitelného na webu. Jedním z problém·, se kterým se audiokodeky musí vypo°ádat jsou tzv. kanály (channels). B¥ºný audiostream obsahuje minimáln¥ dva kanály (stereo zvuk), které jsou p°i p°ehrávání dekódovány a zásílány do p°íslu²ných reproduktor·. Existují vícekanálové systémy, které jsou s oblibou vyuºívány nap°. ve lmovém pr·myslu pro efekt prostorového zvuku. Na webu jsou p°eváºn¥ pouºívány dva (stereo) kanály.
Z nep°eberného mnoºství audioformát· uvedeme t°i hlavní zástupce, které jsou pouºívány v souvislosti s prezentací multimediálního obsahu na webu:
•
MPEG-1 Audio Layer 3 (MP3) - Jedná se o formát zaloºený na kompresním algoritmu publikovaného skupinou MPEG, za jehoº vývojem stojí n¥mecký v¥dec Karlheinz Brandenburg (°editel pobo£ky Frauenhoferova ústavu pro mediální komunikaci v Ilmenau) a jeho v¥decký tým. MP3 se snaºí odstranit redundanci zvukového signálu na základ¥
12 Informace ohledn¥ BSD licence nalezneme nap°íklad na http://cs.wikipedia.org/wiki/BSD_licence 13 Tento formát je popsán v £ásti zabývající se audioformáty. 14 Informace,
které
se
týkají
CC
http://en.wikipedia.org/wiki/Creative_Commons_licenses .
licence
nalezneme
nap°íklad
na
2.1.
PREZENTACE MULTIMEDIÁLNÍHO OBSAHU NA WEBU
13
psychoakustického modelu. Tedy ze vstupního signálu se odeberou informace, jeº £lov¥k nesly²í, nebo si je neuv¥domuje. Vyuºívá se princip· £asového a frekven£ního maskování. Komprese zvuku podle standardu MPEG-1 obsahuje 3 vrstvy, jeº se li²í kvalitou a obtíºností implementace.,[25]. MP3 m·ºe obsahovat maximáln¥ dva zvukové kanály. Mohou být kodovány v r·zných datových tocích (bitrates). Datové toky jsou konstatní (constant bitrate encoding) od 32kbps do 320kbs nebo variabilní (variable bitrate encoding), v tomto p°ípad¥ je datový tok závislý na obsahu enkódovaného audiostreamu. Díky kompresním vlastnostem se formát stal velmi oblíbený pro p°enos hudebních soubor· na internetu. Formát má problémy p°i enkódováním mluveného slova u nízkých datových tok· (32kbps, 64kbps).
MP3 standard neudává, jakým algoritmem mají být MP3 soubory enkódovány. P°edepisuje pouze, jakým zp·sobem musí být dekódovány. Proto existují r·zné modikace enkodér·, které mohou vyuºívat r·zné psychoakustické modely a výsledné audiostreamy se mohou kvalitativn¥ li²it. Mezi nejpouºívan¥j²í open source enkodéry pat°í LAME project (http://lame.sourceforge.net/).
MP3 formát je patentován, coº vysv¥tluje, pro£ není nativn¥ podporován linuxovými distribucemi. V²echny vý²e uvedené videokontejnery tento formát podporují. Ke zpracování t¥chto informací byly pouºity tyto zdroje [25] a [18].
•
Advanced Audio Coding (AAC) - Formát, který byl standardizován v roce 1997. Spole£nost Apple si ho vybrala jako hlavní formát pro sv·j distribu£ní systém ITunes Store a nazývá tento formát ITunesPlus (ve skute£nosti se jedná o AAC formát ve vysoké kvalit¥ s datovým tokem 256kbps [11]). P·vodn¥ byly tyto audiosoubory chrán¥ny algoritmem proti nezákonnému ²í°ení hudby. Pozd¥ji toto zabezpe£ení spole£nost Apple odstranila. Formát AAC byl vytvo°en vytvo°en jako konkurence pro formát MP3. Je vytvo°en tak, aby p°i zachovaní stejného datového toku poskytoval kvalitn¥j²í výstup neº formát MP3. Narozdíl od MP3 je v tomto formátu moºné enkódovat 48 kanál· a datový tok výsledného audiostreamu není standardem omezen (u MP3 je maximální hranice datového toku 320 kbps). Formát je rozd¥len do r·zných prol·, které poskytují rozmanitou kvalitu výstupních audiostream· (podobn¥ jako H.264). AAC je podporován multimediálním kontejnerem MP4, ve kterém je nej£ast¥ji ukládán spolu s videoformátem H.264. Informace jsou £erpány z [18] a [22].
•
Vorbis (Ogg Vorbis) - Formát, který pochází z projektu Ogg, za kterým stojí spole£nost Xiph.org Foundation. Vorbis je open source formát pro ztrátovou kompresi audiosoubor·. Dokáºe v sob¥ uloºit libovolný po£et zvukových kanál·. Není zatíºen ºádnými patenty a licen£ními poplatky. Mezi jeho nejznám¥j²í softwarové implementace pat°í nap°íklad OggConvert (enkodér), libvorbis (dekodér) £i aoTuV (enkodér). Nej£ast¥ji je formát uloºen spolu s formátem Theora v Ogg kontejneru. Dále je pouºíván v multimediálním kontejneru WebM spolu s videoformátem VP8. Zdroj [18].
14
KAPITOLA 2.
ANALÝZA A NÁVRH EENÍ
2.1.4 Doru£ování videoobsahu do webového prohlíºe£e P°edtím neº je video spu²t¥no v p°ehráva£i webového prohlíºe£e, je pot°eba vy°e²it problém p°enosu videosoubor· do p°ehráva£e. Touto problematikou se zabývá tzv. video streaming. Videostreamingem nazýváme zp·sob p°enosu komprimovaného videa od zdroje ke koncovému uºivateli v prost°edí internetu. citováno z [2]. Zde jsou uvedeny t°i základní zp·soby doru£ování multimediálního obsahu ke koncovému
15
uºivateli
•
:
Downloading - Tato metoda je v podstat¥ oby£ejné stahování videosouboru. Uºivatel musí nejd°íve stáhnout kompletní videosoubor, který je následn¥ spust¥n. Tento princip vyuºívá HTTP streaming a je vhodný pouze pro videosoubory s malou velikostí [2].
•
Streaming - Tato metoda vyºaduje speciální server, který dokáºe zasílat uºivateli videosoubor po £ástech. Uºivatel není omezen £ekaním a videosoubor m·ºe sledovat tak°ka okamºit¥. Video nemusí sledovat od za£átku, ale m·ºe si vybrat moment, od kterého je videosoubor promítán [2].
•
Progressive Downloading - Tato metoda je kombinací p°edchozích dvou metod. B¥hem progresivního stahování je videosoubor stahován od za£átku resp. od poºadované pozice. Pro p°ehrávání videa není pot°eba, aby byl videosoubor kompletní. P°ehrávání videosouboru je moºné ihned po na£tení ur£ité £ásti videa. Podle [2] se jedná o optimální metodu pro prezentaci videa. Pro v¥t²inu uºivatel· WWW je dosta£ující a její realizace není tak náro£ná jako v p°ípad¥ druhé uvedené metody.
P°i p°ehrávání videosoubor· na webu dochází zjednodu²en¥ k následujícím proces·m (viz.2.1):
1. Interpretování multimediálního kontejneru 2. Dekódování videostreamu a zaslání na výstup p°ehráva£e 3. Dekódování audiostreamu a je poslání na výstup zvukové karty
15 Problematika týkající se streamování videa je ve skute£nosti mnohem sloºit¥j²í. V p°ípad¥ zájmu doporu£uji zadat nasledující klí£ová slova do webového vyhledáva£e: video streaming, progressive streaming.
2.1.
PREZENTACE MULTIMEDIÁLNÍHO OBSAHU NA WEBU
nekomprimovaný videostream
enkódování streamu
15
nekomprimovaný audiostream
multimediální kontejner (např. mp4)
enkódování streamu
metadata audio kodek (např. libfaac)
video kodek (např. x264) dekódování streamu
webový prohlížeč s přehrávačem
zakódovaný videostream
zakódovaný audiostream
dekódování streamu
zvukovový výstup
Obrázek 2.1: Schéma zpracování digitálního videa na webu. Schéma je vytvo°eno na základ¥ podkladu z [13].
16
KAPITOLA 2.
ANALÝZA A NÁVRH EENÍ
2.1.5 Cílové platformy P°edtím, neº se za£neme zabývat jednotlivými technologiemi pro p°ehrávání videa na webu, je d·leºité stanovit, pro jaké platformy by m¥la být výsledná webová sluºba ur£ena. Práce se bude p°eváºn¥ zabývat mainstreamovými webovými prohlíºe£i, které jsou pouºívány na opera£ních systémech od rmy Apple, Windows a na r·zných linuxových distribucích. T¥mito webovými prohlíºe£i jsou:
•
Google Chrome
•
Mozilla Firefox
•
Opera
•
Safari (pouºívaný p°eváºn¥ na OS od rmy Apple )
•
Internet Explorer (pouºívaný na OS od rmy Microsoft)
Okrajov¥ se budeme v¥novat také moºnosti p°ehrávání videoobsahu na mobilních za°ízeních od rmy Apple (iPhone, iPad, i..) vyuºívající opera£ní systém iOs a za°ízeními, které pouºívají opera£ní systém Android od spole£nosti Google.
Obrázek 2.2: Loga webových prohlíºe£· (zleva: Chrome, Firefox, Opera, Safari, Internet Explorer) a mobilního opera£ního systému Android a iOs.
2.1.6 Technologie pro p°ehrávání videosoubor· na webu Jedním z problém·, které bylo p°i tvorb¥ webu pot°eba vy°e²it, byl zp·sob prezentace videosoubor· koncovému uºivateli skrz webový prohlíºe£. Ve v¥t²in¥ p°ípad· je pot°eba, aby uºivatel m¥l nainstalovaný dodate£ný plugin (Adobe Flash Player, RealPlayer, QuickTime, ...), který dokáºe dané videosoubory p°ehrát a zobrazit uvnit° webového prohlíºe£e. Tímto vzniklo mnoho problému, které se týkají kompatibility p°i p°ehrávání videosoubor· na r·zných platformách. Nep°íjemnou situaci by m¥la do budoucna vy°e²it technologie HTML5.
2.1.6.1
Adobe Flash
Adobe Flash je vektorový gracký editor, který byl p·vodn¥ vyvinut spole£ností Macromedia (nyní Adobe Systems). Vývojové prost°edí tohoto grackého editoru mimo jiné nabízí programovací jazyk ActionScript, díky kterému je moºné vytvá°et interaktivní animace, hry
2.1.
PREZENTACE MULTIMEDIÁLNÍHO OBSAHU NA WEBU
17
£i videop°ehráva£e. Adobe Flash podporuje v²echny vý²e uvedené audioformáty (MP3, AAC, Vorbis). Od verze Adobe Flash Professional CS4 nabízí vývojové prost°edí moºnost práce s videostreamy uloºenými ve formátu H.264. P·vodn¥ podporoval pouze videostreamy enkódované pomocí kodek· Sorenson Spark £i VP6 uloºené v .v (resp. .f4v) kontejneru. Výsledné soubory vytvo°ené v tomto editoru jsou exportovány do soubor· s p°íponou .swf, které je moºné pomocí Adobe Flash Playeru p°ehrát ve webovém prohlíºe£i. Adobe Flash se stal neociálním formátem pro prezentaci multimediálních dat na webu [15]. Tuto skute£nost dokazují i výsledky pr·zkumu, které byly v prosinci roku 2010 uve°ejn¥ny spole£ností Adobe na jejich ociálních stránkách viz. 2.3. Kompatibilita: Podle ociálních zdroju spole£nosti Adobe je tato technologie pouºívána cca 99% uºivatel· p°ipojených internetu viz. obrázek 2.3. V sou£asné dob¥ se tedy jedná o nejroz²í°en¥j²í technologii pouºívanou pro prezentaci dynamických multimediálních dat na webu. Po doinstalování dodate£ného pluginu Adobe Flash Player je tato technologie podporována v²emi vý²e uvedenými webovými prohlíºe£i. Pro p°ehrávání videostream· enkódovaných pomocí H.264 je pot°eba mít nainstalovaný Adobe Flash Player ve verzi 9 update 3 a vý²e. Opera£ní systém iOs tuto technologii nepodporuje.
Obrázek 2.3: Tabulka pokrytí technologie Adobe Flash. Statistika byla uvedena spole£ností Adobe Systems v prosinci 2010. Zdroj [1].
18
KAPITOLA 2.
2.1.6.2
ANALÝZA A NÁVRH EENÍ
HTML5
HTML5 je specikace, která roz²i°uje jazyk HTML (HyperText Markup Language). Je vyvíjena organizací W3C a v sou£asné dob¥ je ve stádiu testování a vývoje. Technologie HTML5 by m¥la nabídnout (resp. nabízí) nový jednodu²²í zp·sob pro vytvá°ení moderních webových aplikací a m¥la by nahradit sou£asné technologie pouºívané pro prezentaci dat na webu (HTML4, XHTML) [48]. HTML5 je podle [10] syntéza n¥kolika jazyk· (JavaScript, CSS3) vyuºívající vektorový gracký formát SVG a technologii Canvas vyvinutou spole£ností Apple. Pro tuto práci je d·leºité, ºe technologie HTML5 nabízí zp·sob prezentace videosoubor· v r·zných webových prohlíºe£ích a to bez nutnosti instalace dodate£ného pluginu [28]. Díky jednoduchému elementu