Bedriftsteknologi

Dekoder H.264-video kun med JavaScript

Mozilla lover brukbar ytelse med «Broadway», men sier ingenting om lisensutfordringen.

Avspilling av H.264-video med Broadway i Firefox. Avbildet er Brendan Eich, teknologisjef i Mozilla og skaperen av JavaScript.
Avspilling av H.264-video med Broadway i Firefox. Avbildet er Brendan Eich, teknologisjef i Mozilla og skaperen av JavaScript. Bilde: Harald Brombach
Harald BrombachHarald Brombach– Journalist
1. nov. 2011 - 12:50

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.

Bilderate ved avspilling av H.264-video med Broadway i Firefox 7.0.1. Variasjonene i bilderaten skyldes trolig at Broadway ikke hele tiden fikk bruke en prosessorkjerne helt alene. Bilde: Harald Brombach
Bilderate ved avspilling av H.264-video med Broadway i Firefox 7.0.1. Variasjonene i bilderaten skyldes trolig at Broadway ikke hele tiden fikk bruke en prosessorkjerne helt alene. Bilde: Harald Brombach

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å:

Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.
Se flere jobber
Tre jobbtilbud 10 måneder før masteravslutning!
Les mer
Tre jobbtilbud 10 måneder før masteravslutning!
Få annonsen din her og nå frem til de beste kandidatene
Lag en bedriftsprofil
En tjeneste fra