2012-02-03 11 views
10

Sto lavorando a un progetto che richiede lo streaming di dati audio tramite HTTP al/dal server.Come chiamare SPEEX Audio Decode/Encode in HTML5/JavaScript (senza Flash)

Abbiamo bisogno di comprimere i dati audio usando SPEEX.

In Flash, possiamo usare Alchemy e LibSpeex, ma come possiamo farlo in JavaScript. HTML5 può essere utilizzato.

Grazie.

Peter

+0

La risposta più probabile è "se non esiste un codec JS puro è necessario scriverne uno da solo" :( –

+0

Riscrivere una lib SPEEX è ...... –

+0

Quindi è necessario eseguire lo streaming in un formato supportato dai browser. WebRTC http://www.webrtc.org/ nessuno ti costringe a usare SPEEX? –

risposta

0

ho avuto un requisito analogo e ha finito per scrivere un applet Java che utilizza JSpeex e lo ha chiamato da JS.

9

Recentemente ho implementato con successo cliente HTML5/VOIP utilizzando la seguente porta JS di Speex, roba veramente impressionante:

https://github.com/jpemartins/speex.js

Per ora è necessario attendere che MediaStreamRecorder o saltare la pistola come l'ho fatto, e fare uso di questo:

https://github.com/jwagener/recorder.js/

quanto a come si pezzo l'intera partita insieme in un sistema di chiazza di petrolio, la chiamata :)

Spero di aver aiutato

+0

Per riferimento, l'implementazione di base della registrazione e uploading di HTML 5 .. . fino alla parte di codifica è qui: http://learnwithecho.com/testaudio.html –

+1

hey sirjamm, non credo che questo successo acceso è su github? mi piacerebbe vedere come hai ottenuto recorder.js e speex.js a lavorare insieme! –

1

Sto lavorando a un progetto denominato AudioRecorder che soddisfa esattamente le vostre esigenze. Potete trovare qui. https://github.com/dbieber/audiorecorder.

Questo si basa sul già citato codec speex compilato: jpemartins/speex.js.

Se si dispone già dell'audio e si desidera codificarlo, chiamare Codec.encode (campioni). Puoi anche utilizzare AudioRecorder per registrare l'audio: c'è un esempio su Github: http://dbieber.github.io/audiorecorder/examples/recorder.html

Attualmente l'implementazione presuppone l'audio a 1 canale e se vuoi due canali puoi semplicemente codificare o decodificare due volte.

Problemi correlati