2012-03-09 13 views
7

Sto lavorando per ottenere l'audio registrato direttamente nel browser e POSTed su un server web. Attualmente mi affido al flash per accedere al microfono dell'utente (usando il codice derivato da https://code.google.com/p/wami-recorder/) e passando il blob Wav/pcm registrato da flash a JS per il caricamento (usando il post XHR). Funziona bene, ma sto cercando di evitare di inviare dati WAV non compressi (posso comprimere l'audio sul server, ma sto cercando di limitare il lavoro intensivo della CPU lì).soluzioni per comprimere l'audio nel browser?

opzioni che ho trovato finora per comprimere a ogg sul lato client includono:

  • basandosi su caratteristiche di laboratorio di flash per comprimere l'audio a ogg (labs.byhook.com/2011/02/15/ogg-vorbis encoder-per-flash-alchimie-serie-parte-1 /). Poiché si tratta di una funzionalità sperimentale in flash, è rischioso affidarsi a questo.

  • Porting di un sottoinsieme minimo di libvorbis su javascript in modo che il browser possa comprimere i dati. Questo probabilmente suona un po 'sciocco, ma ho solo bisogno di brevi bit audio (pochi secondi), quindi le prestazioni potrebbero non essere un problema. Mi sono guardato intorno, ma non sono riuscito a trovare alcun progetto simile in corso.

  • alcune altre soluzioni specifiche per il browser come http://firefogg.org che richiedono un'installazione sostanziale sul lato utente per funzionare, che non desidero.

Sto cercando un'opzione migliore per risolvere questo problema, se esiste una tale opzione. Ovviamente sto aspettando che html5 getUserMedia() funzioni, ma nel frattempo ho bisogno di una soluzione che funzioni cross-browser (non necessariamente al 100%, ma almeno sui browser principali/recenti).

+0

Direi che una soluzione lato server sarebbe la migliore –

+0

lato server è quello che ho finora. Fa il lavoro, ma può diventare piuttosto pesante in termini di utilizzo delle risorse, che può influire sulla disponibilità del sito web. –

+0

sì, ma farlo nel browser sarà difficile su macchine con basse specifiche. Forse hai bisogno di accodare i lavori, per ridurre al minimo il consumo di risorse simultanee? –

risposta