[Jderobot] Streaming de Video en browsers con HTML5

Oscar Garcia oscar.robotica en linaresdigital.com
Vie Jul 12 13:59:27 CEST 2013


El 12/07/2013 13:23, Daniel Castellano escribió:
> De los problemas que comenta Oscar, H.264 puede ser con bitrate 
> variable o continuo, así que no hay problema en ese aspecto (se 
> declara como continuo y listo); el problema con el que yo me topé para 
> streaming en directo es que no sabemos cuanto durará la retransmisión, 
> y es un parámetro que necesita el navegador

Dos cosas:
1.- El problema no radica en bitrate variable o constante, radica en que 
el codec no saca información al flujo de datos hasta que no pasa una 
serie de fotogramas llamados "grupo de imágenes" [1]. En una estructura 
M=x, N=16 (por ejemplo, N puede ampliarse o reducirse manualmente e 
incluso puede ponerse dinámico) hasta que no pasan (a 25 imágenes por 
segundo) 16/25 s = 640 ms de vídeo no se da salida a los fotogramas 
procesados. A eso hay que agregar otras latencias (de la pila TCP de 
salida, RTT/2 de red, pila TCP de recepción, tiempo de decodificación, etc).

2.- ¿Qué reproductor usáis para que os pida la duración del evento? 
Nunca hemos tenido ese problema en nuestro caso.


> La solución ideal, a mi parecer, sería codificar en H.264 y si no, 
> pues ya depende de si puedes utilizar plugins o no; si no puedes, MJPG 
> funciona bien, dentro del "despilfarro" de recursos que supone...


De nuevo son dos cosas:

1.- Se puede codificar en H.264 desde opencv (si mal no recuerdo usa 
ffmpeg), pero me gusta más este proyecto que quizá sea interesante 
seguir: [2].
2.- MJPEG sólo despilfarra ancho de banda, se comporta exactamente igual 
que si codificaras en MPEG con una estructura M=0, N=1. La codificación 
JPEG es MUY liviana en cuanto al uso de CPU y memoria comparada con la 
codificación MPEG con un M y N mayores de 1, pero a cambio pierdes la 
eficiencia de ancho de banda de la codificación basada en predicciones, 
estimaciones y diferencias.

Un saludo.


[1] http://en.wikipedia.org/wiki/Group_of_pictures
[2] https://code.launchpad.net/~alex-stevens/+junk/spyPanda 
<https://code.launchpad.net/%7Ealex-stevens/+junk/spyPanda>


More information about the Jde-developers mailing list