Pregunta

¿Alguien sabe cómo poner en práctica la voz / vídeo sobre IP en una aplicación web utilizando HTML 5 websockets?

Sería bueno si pudiera aplicar esto con PHP o Python desde que (por desgracia) no sabe cualquier otro lenguaje de programación en el momento.

Un buen tutorial va a hacer, así como la necesidad ya la acumulación de solución que tengo que pagar.

Actualización 1:
Añadido de vídeo porque está relacionado / VoIP no sólo de audio.

Update2:
Primera Conferencia de vídeo HTML5 App ya está creado. Ver mi propia respuesta

¿Fue útil?

Solución

Si quieres ir sólo con HTML5, se necesita un navegador aplicación de la HTML Media Capture proyecto (disponible aquí ) con el fin de acceder a los datos en bruto del micrófono.

Una vez que tenga estos datos en la mano, es necesario enviarlo a través de la red. Websockets serían la opción HTML 5 para tener suficiente rápido de ida y vuelta con el servidor (envío de datos de audio y locales que reciben datos de audio a distancia al mismo tiempo)

Ya que mencionas pitón, recomendaría mirando alrededor de la aplicación torcida de websockets.

Puede tener todos sus clientes "registro" en el servidor de WebSocket con un identificador de llamadas, por lo que el servidor sabe dónde encontrar un determinado identificador de llamadas.

A continuación, el servidor necesitará una "invitación" API donde caller1 "invita" caller2.

Una vez que la llamada es de configuración y cada cliente empieza a enviar sus datos de audio, el servidor será capaz de enviar estos datos de audio a la otra parte.

Al recibir datos de audio, el navegador tendrá que desempeñar estos datos de audio en los altavoces, probablemente mediante el HTML5 audiotag.

Para hacer esto, usted puede ser obligado a utilizar un "truco": en lugar de tener el servidor WebSocket adelante los datos de audio en bruto para el cliente, es posible que necesite para simular 2 archivos "infinitos":

  1. caller1.wav: sonido capturado en caller1 mic
  2. caller2.wav: sonido capturado en caller2 mic

navegador caller1 añadiría caller2.wav en el atributo audio.src vez que la llamada es de configuración (caller1 sería informado de este evento a través de WebSocket) y es de esperar si el servidor pitón anexa los datos de audio en bruto a la caller2.wav ya que lo recibe, sería empezar a jugar.

Esto suena como un prototipo de onda en la que vamos a cortar arriba!

Buena suerte en su viaje,

Jerome Wagner

Otros consejos

Parece que Ericsson creó la App Conferencia primer vídeo HTML5.

La técnica que utilizan:

  • Se implementó el elemento de dispositivo y la API de corriente (elemento de interfaz gráfica de usuario del dispositivo se escribe actualmente en JavaScript / CSS)
  • Agregado MediaStreamManager para mapear URL de streaming a la tubería correspondiente en los medios de back-end
  • Agregado MediaStreamTransceiver para controlar el procesamiento y el transporte de los medios relacionados
  • Se ha añadido soporte para datos binarios en el protocolo WebSocket

Ver: labs.ericsson.com :


Video en YouTube: Más allá de HTML 5: Conversación de voz y vídeo de demostración | Ericsson laboratorios

Desafortunadamente Ericsson no quiere device_dialog.js acción (todavía).

WebRTC podría ser una respuesta: http://www.webrtc.org/running-the- demos (actualmente sólo Chrome Canary habilitado con bandera MediaStream)

Ver demostración: https://apprtc.appspot.com (asegúrese de ver en un navegador propiamente dicho) y el código http://code.google.com/p/ WebRTC-muestras / fuente / browse / trunk / apprtc /


La razón por la que estoy escribiendo es ... Me puso muy barata tableta de Android y no puede intall Skype ni Vtok ni Google Voice está disponible fuera de los EE.UU.. Necesito encontrar solución basada en HTML5 como yo soy capaz de ejecutar Opera Mobile 12 y tengo http://html5demos.com/ funciona correctamente

@ work / Tiene que ser rápida

Salida de JavaScript getUserMedia (CanIUse) - API (W3)

WebRTC es la respuesta ahora.

para Node.js pila - se puede ver en http://www.easyrtc.com/ . Tenga en cuenta que IE aún no ha incorporado soporte para las API que hacen el trabajo WebRTC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top