Dekoder MP3 og PDF med JavaScript

Kan gjøre nettleser-plugins enda mindre nødvendig.

JavaScript-ytelsen til mange nettlesere begynner å bli såpass bra at den kan brukes til mer enn bare å gjøre mindre beregninger og manipuleringer av DOM (Document Object Model).

Dette har inspirert utviklere til å lage to helt separate løsninger som gjør det mulig å vise eller spille av innhold i nettlesere, kun ved å bruke eksisterende eller kommende webstandard, og helt uten bruk av plugins eller ekstern programvare.

Bak det ene prosjektet, pdf.js, står to Mozilla-ansatte, Chris Jones og Andreas Gal.

Dette er en PDF-leser laget som ved hjelp av JavaScript, HTML5 og vektorgrafikkspråket SVG kan vise PDF-baserte dokumenter direkte i nettleseren. Jones og Gal nevner flere fordeler med en slik tilnærming, hvor nok sikkerhetsaspektet er den viktigste. Utviklerne mener at man kan redusere angrepsflaten betydelig ved ikke å måtte bruke egne klienter for å lese PDF-filer.

Brukere av PDF-lesere, og da særlig Adobe Reader, må jevnlig oppdatere programvaren fordi det har blitt oppdaget nye sikkerhetshull som må lappes. Utviklerne mener at en HTML5-basert implementering er fullstendig immun må denne typen problemer.

pdf.js er på ingen måte klar til å erstatte den eksterne PDF-løsningen (eller den integrerte PDF-leseren i Google Chrome). Til det er løsningen altfor umoden og det gjenstår fortsatt å løse en del problemer. Likevel regner utviklerne med å kunne få plass tilstrekkelig funksjonalitet til å kunne vise et stort flertall av PDF-filene som finnes på weben, innen tre måneder.

Da skal pdf.js tilbys som en utvidelse av Firefox, men den endelige målet er at PDF-leseren vil leveres sammen med nettleseren. Koden vil utgis med en liberal BSD-lisens.

pdf.js er basert på åpne webstandarder og skal i teorien kunne fungere i enhver nettleser som har støtte for disse. En demo av løsningen er tilgjengelig her. Den fungerer brukbart i Firefox 4 og til en viss grad også i Chrome 12. Den fungerer mindre godt i Opera 11.x, Safari 5 og IE9.

MP3

Det andre prosjektet som nylig har kommet fram i lyset kalles for jsmad. Dette er en MP3-dekoder skrevet i JavaScript. I praksis er det en JavaScript-utgave av libmad, et C-basert bibliotek for dekoding av MPEG-lyd.

Ved hjelp av jsmad kan man nå spille av MP3-kodet musikk i Firefox 4 og nyere. Den skal også kunne fungere i kommende versjoner av Google Chrome dersom man aktiverer Web Audio API. De øvrige nettleserne mangler så langt støtte for én eller flere av de nødvendige teknologier som løsningen benytter. En oversikt finnes på denne siden, sammen med en fungerende demo.

På prosjektsiden fortelles det at jsmad åpner opp for en ny verden med JavaScript-baserte applikasjoner for sanntidsbehandling av lyd. Dette inkludere miksere, samplere og sequencere. I tillegg gjør koden det mulig å spille av MP3-filer direkte i Firefox, uten bruk av Flash Player eller andre plugins. Det loves kortere oppstartstid, færre sikkerhetshull, ingen 64-bits problematikk og færre minnelekkasjer.

jsmad utgis med GPLv2-lisens.

jsmad is GPL-ed, fork yours today!

Til toppen