2012-03-09 20 views
7

Estoy trabajando para obtener grabaciones de audio directamente en el navegador y POSTed a un servidor web. Actualmente estoy confiando en el flash para acceder al micrófono del usuario (usando el código derivado de https://code.google.com/p/wami-recorder/) y pasando el blob Wav/pcm grabado de flash a JS para cargarlo (usando la publicación XHR). Esto funciona bien, pero estoy tratando de evitar el envío de datos WAV sin comprimir (puedo comprimir el audio en el servidor, pero estoy tratando de limitar el trabajo intensivo de CPU allí).soluciones para comprimir audio en el navegador?

opciones que he encontrado hasta ahora para comprimir a OGG en el lado del cliente incluyen:

  • depender de las características del laboratorio de flash para comprimir el audio a OGG (labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flash-alchemy-series-part-1 /). Como es una característica experimental en flash, es arriesgado confiar en ella.

  • portando un subconjunto mínimo de libvorbis a javascript para que el navegador pueda comprimir los datos. Esto probablemente suene un poco tonto, pero solo necesito bits cortos de audio (algunos segundos) para que el rendimiento no sea tan problemático. He mirado alrededor, pero no he podido encontrar ningún proyecto similar.

  • algunas otras soluciones específicas del navegador como http://firefogg.org que requieren una importante instalación del lado del usuario para funcionar, lo que no quiero.

Estoy buscando una mejor opción para resolver este problema, si tal opción existe. Obviamente espero que html5 getUserMedia() funcione, pero necesito una solución que funcione entre navegadores (no necesariamente 100%, pero al menos en navegadores principales/recientes).

+0

Supongo que una solución del lado del servidor sería la mejor –

+0

El lado del servidor es lo que tengo hasta ahora. Hace el trabajo, pero puede ser bastante pesado en términos de uso de recursos, lo que puede afectar la disponibilidad del sitio web. –

+0

sí, pero hacer eso en el navegador será difícil en máquinas de baja especificación. ¿Quizás necesite poner en cola los trabajos para minimizar el consumo simultáneo de recursos? –

Respuesta

Cuestiones relacionadas