Utviklere i Mozilla har laget en helt JavaScript-basert dekoder for videoformatet H.264. Allerede før den har blitt optimalisert til å utnytte blant annet maskinvareakselerasjon og parallellprosessering, skal dekoderen, som kalles for Broadway, greie å spille av videoer med en hastighet på bortimot 30 bilder i sekundet for en video med en oppløsning på 640 x 340 piksler. En demonstrasjon av dekoderen kan sees her.
Den ene av de to som har laget dekoderen, Michael Bebenita, skriver her at de har tatt utgangspunkt i en eksisterende H.264-dekoder. Ifølge Ars Technica dreier det seg om den samme åpen kildekode-dekoderen som Google bruker i Android. Denne er skrevet i C, men Bebenita og kollegaen Alon Zakai har forenklet den og kompilert den ved hjelp av Zakais Emscripten-kompilator.
Emscripten oversetter LLVM-bitkode til JavaScript. LLVM-bitkode kan genereres fra C/C++ ved hjelp av blant annet llvm-gcc eller clang.
Firefox har av lisensårsaker ikke innebygd støtte for H.264, men kan spille H.264-videoer via et webbasert brukergrensesnitt basert blant annet Broadway. Et par demoer (de samme som vises i videoen nevnt over) kan lastes ned fra Broadway-siden på Github. Bebenita anbefaler at de kjøres i en «nightly»-utgave av Firefox, som inkluderer noen oppdateringer skal forberdre JavaScript JIT-ytelsen (Just In Time), men vår egen lille test viser at løsningen også fungerer fint i Firefox 7.0.1 – riktignok med en gjennomsnittlig bilderate på i underkant av 20 bilder per sekund på en tre år gammel stasjonær pc. Broadway bruker under avspillingen hundre prosent av regnekraften til den ene av kjernene i prosessoren, noe som nok betyr at bilderaten vil være høyere på en pc med kraftigere prosessorkjerner.
Det gjør at løsningen foreløpig er lite egnet for batteridrevne enheter. Men å flytte deler av arbeidsmengden fra CPU-en og over på mer effektive prosessortyper, er blant det arbeidet som gjenstår.
Broadway er laget for å demonstrere JavaScript-ytelsen i dagens nettlesere. Om den også i praksis vil fungere som en løsning for å spille av H.264-video i Firefox, uten at Mozilla behøver å bygge slik støtte inn i nettleseren, er mer uklart. Nettsteder som ønsker å tilby H.264-video for besøkende med Firefox, uten å benytte plugins som Flash, vil i så fall måtte basere løsningen på Broadway. Spørsmålet er om de kan gjøre dette uten å måtte betale ytterligere lisenspenger til MPEG LA.
Heller ikke Opera støtter H.264. Men vår test av Broadway i Opera 11.52 fungerte dårlig.
Les også:
- [16.03.2012] Mozilla vurderer webvideo på nytt
- [12.12.2011] Planlegger ny standard for webvideo
- [09.11.2011] Firefox 8 blokkerer uønskede utvidelser
- [16.12.2010] Microsoft gir Firefox H.264-støtte