2010-11-22 13 views
18

Actualmente estamos trabajando en una aplicación de videoconferencia chat + (uso compartido de archivos +) using HTML5 websockets. Para hacer que nuestra aplicación sea más accesible que queremos implementar streaming adaptativo, utilizando la siguiente secuencia:Cortando el flujo de medios en HTML5 servidor websocket para la aplicación web de chat/video conferencia

  1. Raw cliente de datos de audio/video va a
  2. corriente se divide en 1 segundo trozos
  3. corriente Codificar en la variación del servidor anchos de banda
  4. cliente recibe el archivo de manifiesto la descripción de segmentos disponibles
  5. Descargas un segmento usando HTTP normal de
  6. ancho de banda siguiente segmento elegido en el rendimiento de uno anterior
  7. cliente puede elegir entre una serie de diferentes corrientes alternas en una variedad de velocidades de datos

Así que .. ¿Cómo podemos dividir nuestros datos de audio/vídeo en trozos con Python?

Sabemos que Microsoft ya compila el Expression Encoder 2 que habilita el Streaming Adaptativo, pero solo es compatible con Silverlight y eso no es lo que queremos.

Editar:
Hay también una solución llamada FFmpeg (y para Python un envoltorio PyFFmpeg), pero sólo es compatible con el streaming de Apple adaptativa.

+0

Hey Enrico (¿Leslie Nielsen?) ¿Qué ocurrió con este proyecto? Me encontré golpeando la misma pared, justo después de ti;) Por favor, mantenme informado con más detalles que tengas. ¡Gracias! – Mussser

Respuesta

3

Creo que ffmpeg es la herramienta principal que querrá ver. Se ha convertido en el manipulador de medios de código abierto más compatible. Hay un python wrapper para ello. Aunque también es posible access the command line through the subprocess module.

+1

PyFFmpeg es de hecho un codificador, pero como puedo ver ahora, es el paso 3 de nuestro proceso. –

+0

Hmm, pensé que ffmpeg podría manejar cortar los medios. Definitivamente estaré interesado en ver qué descubres o qué otras respuestas aparecen. – mjhm

+0

FFmpeg/PyFFmpeg solo es compatible con la transmisión adaptativa de Apple :-( –

2

He encontrado algunos buenos articles sobre cómo otras personas construyen un stream segmenter para otras plataformas, por lo que ahora sabemos cómo construir uno en Python.

Cuestiones relacionadas