Skip to content

WebM, Daala ja konkurendid - vaba veebivideo 2014. aasta alguses

Kirjutasime poolteist aastat tagasi WebM ja vaba veebivideo seisust ning vaatame mis on tänaseks muutunud:

  • Google sisuliselt lõpetas VP8 arenduse ning keskendus enam kui aasta tagasi VP9 arendusele - eesmärgiks VP8 ja H.264'ga võrreldes 2 korda väiksem ribalaius sama pildikvaliteedi juures (VP9 oleks seega võrreldav videokodek patendialuse H.265'ga)
  • VP9 bitivoog löödi lukku eelmise aasta jaanipäevaks ning sisuliselt samast ajast suudavad Chrome ja Chromium seda ka mängida
  • eelmise suve lõpuks asus Google aktiivselt Youtube videosid WebM VP9 varianti ümber kodeerima ning kõik VP8 materjal üle 360p videote eemaldati
  • kui kasutad youtube.com/html5 mängijat Chrome või Chromiumiga, siis esimene meediaeelistus on WebM VP9-Vorbis
  • sügisel 2013 lisasid nii libav (tulevases versioon 10's) kui ffmpeg (alates 2.1) VP9 toe oma teekidesse
  • VLC Media Player mängib VP9't alates versioonist 2.1.2
  • VP9 ja youtube.com/html5 jaoks vajalik minimaalne MSE tugi jõudis Firefoxi koodi jõulude eel ning on tavakasutajatele kasutatav alates versionist 28 (ilmub märtsis 2014)
  • konvergeerunud ja mobiilses maailmas (nutitelefonid, tahvelarvutid, nutiteleviisorid) on VP8 küll edenenud - Androidis on dekooder nõutav alates versioonist 2.3.3 ja kodeerimine alates versioonist 4.3 ja paljudesse seadmetesse on jõudnud ka raudvaraline VP8 tugi, kuid VP9 on veel liiga uus et raudvara poolel saadaval (2160p 60fps suutlik RTL sai valmis eelmise aasta lõpus), kuid tarkvaras implementeerituna mängib Androidi Chrome VP9't alates versioonist 29 ning on süsteemse teegina saadaval alates Android 4.4'st (dekodeerimine on 4.4 puhul nõutav)
  • Google üks plaan oli saada VP9 kiiresti levima seeläbi, et ta tehakse WebRTC üheks kohustuslikuks videokodekiks (nagu opus on üks kohustuslikke audiokodekeid), aga IETF (organisatsioon, mis WebRTC standardiseerimisega tegeleb) pole eri osapoolte vahelises võitluses suutnud videokodeki osas otsust teha

Konkurentide poolel:

  • on valmis saanud HVEC/H.265 videokodek 2012. aasta lõpuks (sellest ka Google kiirustamine VP9'ga) ning eelmisel aastal standardiseeritud ITU ja ISO/IEC poolt, kuid tegemist on mittevaba videokodekiga (eeldab patendinõuetega arvestamist ja litsentsitasude maksmist)
  • eelmise aasta jooksul on avaldatud palju erinevaid implementatsioone (sh 4K ja 8K kategooriates), kuid mingit olulist levimist tarbetehnoloogiatesse pole juhtunud
  • Google pole kuidagi näidanud oma eelistust HVEC/H.265 suunas - seda ei ole lisanudunud ei Androidi spetsifikatsiooni ega Youtube kasutatavate kodekite hulka ning pole võimatu, et see saab ühel hetkel kaalukeeleks turu pöördumisel VP9 suunas
  • enne sügisest IETF koosolekut, mis pidi otsustama WebRTC kohustusliku videokodeki tegi Cisco radikaalse avalduse, kus lubas maksta kõikide H.264/MPEG-4_AVC kasutajate litsentsitasud (MPEG-LA poolt seatud aastamakse ülempiiri tõttu see summa ei lähe väga ulmeliseks), kuid ka see plaan ei tundu olevat senist olukorda palju muutnud (Firefox lubas küll seda võimalust kasutada)

Samal ajal kui ISO/IEC MPEG ja ITU-T VCEG on üritanud tulevikuks läbi suruda HVEC/H.265 videokodekit ning Google ajanud oma vaba VP9 kodeki liini on Xiph (Vorbise ja Theora arendaja ning Opuse üks arendaja) ja Mozilla Foundation (Firefoxi arendaja) võtnud hoopis teise suuna:

  • Xiph'i poolt teoreetiliselt välja pakutud ülejärgmise põlvkonna videokodeki Daala arendus on suure hooga käima lükatud
  • eesmärgiks sama pildikvaliteedi juures väiksem ribalaius, kui tänaste moodsate videokodekite HVEC ja VP9 puhul
  • kui algoritmi mõttes on kõik senised MPEG-1, MPEG-2, MPEG-5, HVEC ning VP6, Theora, VP8, VP9 väga sarnased ning lähtuvad "teeme pildi ruutudeks ja siis üritame seda optimeerida" loogikast (ja on seetõttu patentide mõttes suur miiniväli), siis Daala aluseks on signaalitöötluse "lapped transform" lähenemine, mida on sama seltskond edukalt kasutanud nii Vorbis kui Opus audiokodekite juures - ei imestaks, kui selle arenduse esimesi beeta-tulemusi näeme juba sellel aastal
  • toimivat lahendust lubatakse 2015. aastaa lõpuks

Opus - uus vaba audiovorming veebi jaoks

Mingis mõttes ootamatu kooslus (Skype/Microsoft, Xiph Foundationi ja Mozilla töötajad) on oma paari-aastase tööga valmis saanud - täna kinnitas IETF Opus helivormingu internetistandardina RFC 6716.

Opus on teadlikult internetikasutuseks tehtud helivorming, mis sobib nii kitsaribaliste VoIP lahenduste kui laiaribalise muusikaedastuse jaoks ning kõigele muule, mis sinna vahele jääb. Teist sarnaselt laia spektriga vormingut hetkel sisuliselt pole (6 kuni 510 kbit/s, sämplimissagedusega 8 kuni 48 kHz) ning latentsus on ka võimalikult madalaks seatud. Tehnilises mõttes sisaldab vorming kahte eri audiokodekit (üks on arendatud Skype SILK-i baasil ning teine Xiph-i CELT-i baasil) ning kõik implementatsioonid peavad neid lõppkasutajale läbipaistvalt pruukima. Vormingukonteineriks on Ogg ning failid võivad olla kas .opus või .ogg laiendiga.

Praeguseks on tugi olemas juba Firefoxi (alates versioonist 15) ja Seamonkey (alates 2.12) brauserites, VLC meediamängijas (alates 2.0.4) ning mõlemas olulisemas meediaraamistikus (FFmpeg/Libav ja GStreamer). Ilmselt võtab ka Skype Opuse oma VoIP-kõnede jaoks kasutusele. Kes kasutab Debian Wheezy't, siis libopus0 ja opus-tools pakid lisavad arvutile selle audiovormingu toe ja mõned tarvikud.

Kõike olulisem uudis on aga see, et WebRTC spetsifikatsioon näeb ette Opuse kohustuslikku kasutamist (G.711 kõrval). WebRTC saab lähiaastatega kasvama suurimaks tehniliseks lahenduseks (standardiks), mis võimaldab veebibrauserite-vahelist suhtlust.

Opus audiovorming on avaldatud BSD-stiilis litsentsi all ning kodekitega seotud patendid on omanike poolt antud vabaks kasutamiseks.

Sinu veebibrauser on oluline

Selge see, et Sinu veebibrauser on oluline.

Microsofti eestvedamisel on tehtud veebisait yourbrowsermatters.org, mis sujuvalt tõestab, et vaid Internet Exploreri versioon 9 on turvaline (skoor 4) ning konkurendid on poole ohtlikumad (Firefox 7 - tulemus 2 ja Chromium 14 - tulemus 2,5) ning Google Chrome 16 ja Opera ei tule üldse arvesse (tulemus puudub).

Kui vaatame testide sisu, siis minu Linuxiline Chrome saab punkte selle eest et toetab Windowsi funktsioonaalsust (Does the browser process utilize Windows Protected Mode or implement a similar mechanism such that browser processes cannot modify parts of the system that it doesn’t have access to? Does the browser benefit from Windows Operating System features that protect against arbitrary data execution? Does the browser benefit from Windows Operating System features that randomize the memory layout to make it harder for attackers to find their target?). Aga see pole ju reaalne! Osa nimetatud funktsionaalsust nagu näiteks ASLR on Linuxi kernelis olnud olemas paar aastat enne Windowsi, kuid vaevalt test seda otseselt kontrollib.

Sait töötab nii, et brauserite tunnus-sõned (user-agent string) ja nende suutlikkus on ette ära seadistatud ning tegelikult mitte ühtegi testi ei tehta - seda on kerge proovida kui Operas määrata brauseri tunnuseks "Mask as Internet Explorer" ja kohe on täispunktid olemas.

Tegemist on tavalise hämamisega ning faktide sobival kujul esitamisega. Ma ei imestaks kui Firefoxi, Chrome ja Opera arendajad teevad kohe veebisaidi, mis vastupidist tõestab.

Online- ja offline-tellimuste kasutajate erinevus veebibaruserite järgi

Võrdlesin meie firma saitide statistikat kasutajate veebibrauserite järgi (lehevaadete alusel). Kui panin kõrvuti online- ja offline-tellimist võimaldavad saidid, siis olid tulemused erinevad. Vahed pole suured, aga väärivad äramärkimist. Numbrite erinevust saab tõlgendada ilmselt mitmel viisil ja selle jätaks esialgu lugejatele.

BrauserOnlineOffline
Internet Explorer51%60%
Firefox33%31%
Safari ja Chrome13%7%
Opera3%2%

Online-tellimine tähendab siinkohal, kus saab teenused broneerida, samast teenindusprotsessis maksta ning samas väljastatakse kohe piletid (klienditeenindaja ei sekku teenindusprotsessi). Offline-tellimine tähendab veebirakendust, kus saab teenused otsida, sirvida ja tellida ning seejärel tegeleb tellimusega klienditeenindaja (vormistab broneeringu, küsib kinnitus, vormistab arve, tehakse eraldi makse, jne).

HTML5 video tulevik otsustatakse kevadel 2010

HTML5 videost olen varemgi kirjutanud. Selleks kevadeks on osapoolte eesmärgid enam-vähem selgeks saanud.

Brauserid:

  • Firefox ja Seamonkey oskavad kuvada video- ja audio elemente ning ilma välise abita renderdada ja dekodeerida Theora videot ning Vorbis audiot
  • Webkit'il põhinev Chromium ja Google Chrome saab hakkama video- ja audio elementidega ning dekodeerib Theora videot ning Vorbis audiot, lisaks on Google ostnud Chrome jaoks ka H.264 litsentsi
  • Webkit'il põhinev Apple Safari saab hakkama video- ja audio elementidega, kuid toetab vaid MPEG4 video renderdamist ja OS X all ka Vorbis/Theora renderdamist, kui XIPH-QT on paigaldatud
  • Opera oskab ilma välise abita alates versioonist 10.50 renderdada video- ja audio elemente ning dekodeerida Theora videot ning Vorbis audiot
  • Microsoft on teatanud et arendusjärgus olev Internet Exploreri 9 saab oskama video- ja audio elementide kuvamisega, kuid videokodekina tunnistab vaid H.264 videot ning kuna ei kasuta Windowsi platvormi kodekiteekie, siis muid kodekeid lisada ei saa
  • seega IE 60% + Chrome 7% + Safari 5% ehk 72% turust toetab vaid patentide ja litsentsidega kaetud H.264 videot ja Firefox 25% + Chrome 7% + Opera 2% ehk 34% turust toetab vaba ja avatud Theora videot
Jätka "HTML5 video tulevik otsustatakse kevadel 2010" täisvaate lugemist

Kiireim veebibrauser Linuxis

Pilt räägib enam, kui pikem seletamine. Testkeskonnaks on Futuremark Peacekeeper ja sisuks Javascripti erineva funktsionaalsuse testid. Arvuti on paari aasta vanune sülearvuti (Intel Pentium Dual Core T2330 @ 1.60 GHz, 2 GB RAM), operatsioonisüsteemiks Debian Squeeze 2.6.32 kerneliga.

HTML5 ja video-element ning vabad videokodekid

Aasta on möödunud minu eelmistest teemakohastest artiklitest. Mis on selle ajaga muutunud?

Brauserid:

  • nii nagu arendajad lubasid, siis Firefox oskab ilma välise abita alates versioonist 3.5 renderdada video- ja audio elemente ning dekodeerida Theora videot ning Vorbis audiot
  • samaga saab korralikult hakkama Seamonkey 2.0 beeta ning ilmselt ka muud brauserid, mis põhinevad Gecko 1.9.1.0 ja uuematel versioonidel
  • Webkit'il põhinev Chromium ja Google Chrome saab alates 3.0.198 (beeta)versioonist hakkama video- ja audio elementidega, kuid Theora ja Vorbise renderdamine toimib puhtalt vaid Chromiumis ning Chromes siis kui operatsioonisüsteem seda toetab (näiteks Linuxis)
  • Webkit'il põhinev Apple Safari saab alates Webkiti versioonist 525 hakkama video- ja audio elementidega, kuid toetab vaid MPEG4 video renderdamist ja OS X all ka Vorbis/Theora renderdamist, kui XIPH-QT on paigaldatud
  • Opera on teinud vaid ühe vanapoolse (aasta-taguse) testversiooni, mis renderdab video- ja audio elemente ning dekodeerib Theora videot ning Vorbis audiot; igasugune täpsem teave järgnevate plaanide kohta on puudu (kohe ilmuvas Opera 10's ei ole sisse-ehitatud videotuge)
  • Microsoft on Internet Exploreri osas hoidnud madalat profiili ja pole oma plaane üldse kommenteerinud

Sisu ehk veebilehed:

  • nagu arvata võis, siis Wikipedia kasutab ainult Theora videot ja Vorbis audiot
  • Youtube, kui suurim videoveeb on aktiivselt asunud video-elementi ja javascripti põhist liidest testima, kuid kasutab seal MPEG4 videokodekit: www.youtube.com/html5
  • Üks suuremaid Youtube taga-ajajaid Dailymotion on teinud puhta Theora/Vorbis põhise veebi openvideo.dailymotion.com ja www.dailymotion.com/openvideodemo
  • Lisandunud on palju pisikesi veebe, mid kasutavad html5 video-elementi ning Theora/Vorbis kodekeid, kuid igasuguse kriitilise massini on veel pikk maa minna

Äri ja tehnoloogia:

  • Xiph Foundation on aktiivselt Theora videokodekit edasi arendanud – Thusnelda projektil põhinev lähikuudel beetast välja saav Theora 1.1 on täiesti võrreldav konkureerivate videokodekitega
  • Google on teatanud ON3 ostmisplaanidest. ON3 on suurim sõltumatu videokodekitootja – nende tehtud on VP6 (levinud kodek Flash Videos) ja VP3 (sellel põhineb vaba Theora videokodek). Google ei ole mitte mingilgi viisil teada andnud oma ostujärgsetest plaanidest.
  • Dirac'i - teise olulise vaba videokodeki arendajad (BBC ja partnerid) on avalikkuse ees olnud tagasihoidlikud

Oma kogemus:

  • Olen katsetanud nii Firefox 3.5, Seamonkey 2.0 kui Google Chrome 3.x/4.x brausereid
  • Neist kaks esimest mängivad Theora videot probleemideta, Google Chrome kipub veel kokku jooksma ja on uimasevõitu (aga tema on ka veel arendusjärgus)
  • Minu töökohas on firma-sisene videoarhiiv Theora/Vorbis videos ja see on Firefoxiga väga mugavalt kasutatav; keskmiselt 1000 kbit/s kodeeritud PAL-mõõtu videod on probleemitult Firefoxis mängitavad (kaasa arvatud edasi-tagasi kerimine); eks laivõrgus peab videote bititihedust vähendama (300-400 kbit/s 2/3 PAL mõõtu video jaoks võiks juba paras olla)

HTML5, Firefox, Theora ja video element – natuke ka tegelikke tulemusi

Mozilla arendajad on pikemat aega vaeva näinud HTML5 standardisse kavandatava video-elemendi toe lisamisega oma toodetesse. Nüüd ollakse nii kaugel, et enam ei pea mässama lähtekoodiga ja paikadega, vaid alates 31.07.2008 sisaldavad Firefoxi igaöised arendusversioonid järgnevaid uusi funktsionaalsusi:

  • audio- ja video-elemendi renderdamine
  • Ogg Theora videokodeki dekodeerimine vahetult brauseri renderdusmootori poolt
  • Ogg Vorbis audiokodeki dekodeerimine vahetult brauseri renderdusmootori poolt
Jätka "HTML5, Firefox, Theora ja video element – natuke ka tegelikke tulemusi" täisvaate lugemist

Opera, WebKit ja ACID3

Nii nagu Opera arendajate ajaveebis kirjutatakse ning WebKit'i arendajate ajaveebis räägitakse, siis on nad esimestena saanud hakkama järjekordse brauseriarendajate küpsustestiga ehk ACID3 testiga. Mingi vahe on ka selles, et WebKit'i puhul kasutati selleks avaldatud testversiooni, kuid Opera puhul sisemist testversiooni. Konkurents kahe brauseriarendusmeeskonna vahel läks sedavõrd naljakaks, et avalike teadete ilmumisel blogisse oli napp pooletunnine vahe. Eks näis kumb neist esimesena korrektse avaliku ja ametliku brauseriversiooni teeb.

Ehk teisisõnu - hetkel arendamisel oleva järgmine Opera versioon 9.5 ja Safari ning Konquerori (WebKit on nende renderdusmootoriks) järgmised versioonid suudavad järgida paljusid uusi ja keerukaid veebistandardeid.

Saatuse tahtel leidsid WebKiti arendajad viimasel hetkel testis endas ka vea ja selles mõttes Opera testi ei läbigi :-)
Jätka "Opera, WebKit ja ACID3" täisvaate lugemist

HTML5, Firefox ja video element - natuke muutunud strateegia aga eesmärk on ikka sama

Nagu mitu korda varem olen kirjutanud, siis Mozilla Firefox'i arendad on lisamas HTML5 standardi järgset video-elemendi tuge Firefox'ile. Praktikas tähendab see, et brauser näitab videopilti ilma väliste abivahenditeta (teate ju küll mida kõike peab masinasse lisaks brauserile paigaldama paljude veebide kasutamiseks; ja siis hiljem peab kõike seda veel uuendama).

Paar kuud tagasi korjati HTML5 video-elemendi spetsifikatsioonist välja otsene nõue Theora videokodeki kasutamiseks (sinna ei jäänud ka ühtegi muud kohustuslikku kodekit). Väidetevalt toimus see nii mõnegi suurfirma survel, kelle huvides pole vabade videokodekite levi. Kusjuures suurimaks ettekäändeks sai see, et "Theora on küll litsentsi- ja patendivaba videokodek, kuid meie oma jälle on kõvasti parem ning üleüldse me ju ei tea kas kusagilt põranda alt võib ilmuda välja mõni patendinõue Theora suhtes".
Jätka "HTML5, Firefox ja video element - natuke muutunud strateegia aga eesmärk on ikka sama" täisvaate lugemist