Video in HTML5: Google Chrome zegt H.264 vaarwel. Zegen of vloek?

Video via internet is in de afgelopen jaren gigantisch groot geworden. Sterker nog, in 2009 werd 32% van al het dataverkeer wereldwijd veroorzaakt door het bekijken van video's, en de voorspelling is dat dat in 2013 al 60% zal zijn (bron). Het moge duidelijk zijn dat er een hoop te winnen (en te verliezen) valt als het gaat om ontwikkelingen op dit gebied. Voordat ik wat dieper in ga op Google Chrome, eerst even een korte introductie.

Codecs
Er zijn twee grote problemen met (online) video (en in mindere mate audio). In de eerste plaats dat er ontzettend veel verschillende manieren zijn om video op te slaan, en in de tweede plaats dat je een goede balans moet zien te vinden tussen hoe goed de kwaliteit van de film is, hoeveel ruimte de film inneemt en hoeveel rekenkracht je nodig hebt om de film af te kunnen spelen.

Beide problemen hangen samen met de codec waarin een film is opgeslagen. Een codec is eigenlijk een slim algoritme dat een video bestand omrekent naar iets dat bijvoorbeeld een veel kleiner bestandsformaat heeft, maar als gevolg daarvan ook een (acceptabel) kwaliteitsverlies. Om zo'n film af te kunnen spelen, moet het afspeelapparaat dan ook over die codec beschikken om het af te kunnen spelen. Je kunt je voorstellen dat naarmate er meer video wordt gedistribueerd, en naarmate de techniek verder vordert, er meer (en betere) codecs komen.

MPEG structuurBekende codecs zijn MPEG-2 (hiermee zijn bijvoorbeeld DVD's geŽncodeerd), MP3 (dat dť revolutie betekende voor het breed beschikbaar maken van downloadbare muziek), MPEG-4 (de doorontwikkeling van MPEG-2, en in gebruik op bijv. Blu-ray disks) en codecs die sterk lijken op MPEG-4, zoals DivX en Xvid.

Wie vroeger wel eens een film heeft gedownload, kent vast wel de frustratie dat de film -na 3 dagen achterelkaar continue je telefoonlijn platgelegd te hebben- in een codec was verspreid die je zelf niet op je eigen PC had. Daar was je dan mooi klaar mee, want zie dan die codec maar eens te vinden...

Maar ik dwaal af; waar het nu even om draait is dat de meest gebruikte codec voor video op internet momenteel H.264 is. Deze standaard lijkt ook sterk op MPEG-4 en is ontwikkeld door een aantal consortia, zoals de Moving Pictures Experts Group (MPEG) en de Video Coding Experts Group (VCEG). Onder andere Apple en Microsoft maken deel uit van deze groups.

Online video afspelen
Youtube screenshotTot een jaar of twee geleden was de beste manier om video via internet te tonen, het gebruiken van Flash video. Vrijwel alle moderne browsers zijn uitgerust met deze plugin, en ik durf de bewering wel aan dat Youtube zonder het gebruik van Flash vandaag de dag nog niet zo groot zou zijn geworden. Vrijwel alle video's die via internet te bekijken zijn, worden getoond in een Flash player. De Silverlight player van Microsoft heeft ook een tijdje wat aandeel gehad, maar de echte doorbraak is uitgebleven.

Het moge echter duidelijk zijn dat het gebruik van een (door commerciŽle motieven gedreven gemaakte) plugin niet wenselijk is, voor iets dat in de afgelopen jaren zo'n enorme schaalvergroting heeft ondergaan. Mede daarom is het W3C (de organisatie die zich bezighoudt met webstandaarden) begonnen met het ontwikkelen van een standaard voor online video, middels de <video> tag in HTML5.

Inmiddels ondersteunen de meeste recente versies van alle gangbare browsers al deze manier van het tonen van video. Nog te weinig mensen maken nu echter gebruik van een ondersteunende browser (IE9, FF3.5+, Safari 3+, Chrome 5+) om het gebruik van Flash of Silverlight compleet te kunnen staken. Daarnaast is er nog onenigheid over wat de standaard codecs zouden moeten worden voor video en audio.

Daar wringt de schoen
Die onenigheid lijkt hťt obstakel te zijn dat een vlotte invoer van een videostandaard voor internet in de weg staat. Google, Mozilla (de makers van Firefox) en Opera zijn voorstander van het gebruik van de open source codec VP8, beter bekend als WebM. Apple vreest echter patentclaims wanneer WebM de standaard zou worden, en houdt daarom vast aan H.264 als codec. Microsoft heeft nog niet echt een standpunt ingenomen.

De onenigheid wordt veroorzaakt door een aantal factoren. Google wil in de eerste plaats een open-source codec gebruiken. Het gebruik van de H.264 standaard is gebonden aan een licentie, omdat deze door de eerder genoemde MPEG en VCEG geschreven zijn. Feitelijk betekent dat dat iedere softwaremaker die van die codec gebruik wil maken (hetzij in software om video's te kunnen maken, hetzij in software waarmee ze af te spelen zijn), geld is verschuldigd aan de licentiehouders. Onlangs hebben de makers van H.264 echter aangekondigd dat het niet commercieel gebruik van H.264 op internet voor altijd gratis zal blijven. Toch blijft het bezwaar dan bestaan dat deze standaard niet open is.
Apple heeft echter een flinke vinger in de pap bij de ontwikkelaars van H.264, en is er daarom niet direct bij gebaat dat een andere codec de standaard zou worden. Hun standpunt is dat er elementen in de WebM codec zitten, die mogelijk tot patentclaims kunnen leiden, waar zij zelf dan mogelijk ook voor op zouden moeten draaien. Google weerspreekt dit echter, en zegt vertrouwen te hebben in de patentveiligheid van WebM.

Strijd der giganten
Logo Google chromeGisteren heeft Google aangekondigd de support voor H.264 video in hun browser Chrome stop te zetten. In de eerste plaats lijkt dit een goed ding; door op deze manier de ondersteuning voor dit formaat te laten vallen, wordt de kans groter dat het open-source WebM de standaard zal worden. Daar kleven enorme voordelen aan: het gebruik ervan is gratis, en iedereen die wil kan er aan meewerken om de codec beter te maken. Dit betekent echter ook dat zolang er nog geen overeenstemming is over welke codec de standaard wordt, aanbieders van online video nog steeds verschillende versies van hun films moeten maken om video's te kunnen tonen via de HTML5 <video>-tag. Op deze manier zal Google de invoer van de HTML5 video standaard vermoedelijk alleen maar vertragen, en daarmee delen ze indirect een gevoelige tik uit aan Apple. Apple is namelijk fervent tegenstander van het gebruik van Flash. iPhone- en iPad-bezitters weten er alles van. En zolang die standaard er nog niet is, zal Flash nog de hoofdmoot van alle online video blijven serveren.

Voor zowel de standpunten van Google als Apple lijkt wat te zeggen. Beide mega-bedrijven hebben op het oog nobele motieven voor de propagering van WebM of juist H.264, maar onder water is er meer aan de hand. Microsoft zit er vooralsnog een beetje tussen, maar zowel Google als Apple zijn Microsofts aartsvijanden, en ik stel me zo voor dat ze in Redmond nog niet goed weten wie ze het meest dwars willen zitten. Ik voorzie dan ook dat zij misschien nog wel een cruciale rol gaan spelen in het doorbreken van deze impasse. Alle drie de bedrijven zijn groot en hebben veel macht en invloed, maar tegen de gecombineerde macht twee van deze reuzen kan niemand op.

Update 3 februari 2011
Microsoft heeft inmiddels een h.264 plugin uitgebracht voor Google Chrome. Deze plugin was er ook al voor Firefox. Vooralsnog zijn er geen concrete aanwijzingen dat Microsoft WebM ondersteuning zal bieden in Internet Explorer 8 en 9, dus -voor nu- lijkt het erop dat Microsoft voor h.264 kiest. Zie ook het artikel op Tweakers.net.

Meer achtergrondinformatie:
Dive into HTML5: Video on the web
Google to drop support for H.264 / A really nasty trick
Mozilla en Opera willen Googles VP8 codec in HTML5 specificatie
An Open Letter from the President of the United States of Google (tip van @NeonMedia010)

12-01-11 Gepost door: Jelle-Jan van Veelen Comments (3) Categorie: internet

Reacties

DJ - 2011-01-12 21:20

Je weet er meer van dan ik!

ed hulstein - 2011-01-19 19:06

voor een simpele gebruiker als ik is de oplossing erg simpel... als chrome filmpjes op internet niet meer af wil spelen dan stop ik gewoon met chrome en ga ik verder met ie of firefox.

Michel - 2011-04-28 22:56

Helder verhaal, ik hoop dat je met meer updates komt of die via de mail met mij deelt.

Add Comment


E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA