<div dir="ltr"><div>Hola,<br><br></div><div>Yo las pruebas e investigaciones que hice fueron enfocadas al uso con Raspberry, pero son extrapolables.<br></div><div><br>Aunque los formatos de vídeo que se pueden reproducir aún no son estandar, el formato &quot;WebM2 está implementados en los navegadores mayoritarios (chrome, firefox y opera) y el formato &quot;mp4&quot; está soportado por estos y también IExplorer (<a href="http://www.w3schools.com/html/html5_video.asp">http://www.w3schools.com/html/html5_video.asp</a>).<br>
<br></div><div>En mi caso probé a cargar vídeos enlatados en ambos formatos desde un servidor Django y funcionaron los dos sin problemas.<br></div><div>La raspberry tiene un chip codificador H.264, así que en teoría podría coger el flujo de la cámara y codificarlo &quot;al vuelo&quot; sin mucha latencia, aunque no lo conseguí y terminé enviando las imágenes jpg por separado (vamos, que se envían las imágenes como vídeo, si no como sucesión de imágenes suelta, lo cual carga mucho la máquina...)<br>
<br></div><div>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<br>
<br></div><div>La otra opción (con plug-ins) que probé fue usar &quot;VLC&quot;; cargaba menos la máquina y el resultado era el mismo (a nivel usuario, claro), pero el tener que bajar un plug-in no me gustó, así que terminé utilizando &quot;MJPG-streamer&quot;, aunque cuando tenga tiempo (si lo tengo XD) intentaré de nuevo codificar en H.264<br>
</div><div>Las dos opciones de streaming en vivo que probé (VLC y MJPG) tenían una latencia bastante aceptable (como 1 segundo)<br></div><div><br></div><div>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 &quot;despilfarro&quot; de recursos que supone...<br>
</div><div><br></div>Un saludo, Dani.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 12 de julio de 2013 12:03, Oscar Garcia <span dir="ltr">&lt;<a href="mailto:oscar.robotica@linaresdigital.com" target="_blank">oscar.robotica@linaresdigital.com</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El 12/07/2013 10:30, Roberto Calvo escribió:<br>
<div class="im">&gt; Mirando diferentes maneras para reproducir un streaming de vídeo en un<br>
&gt; browser con HTML5 sin necesidad de plugins externos, veo que está<br>
&gt; complicado.<br>
&gt;<br>
&gt; En principio los formatos de streaming y codecs de video no son parte de<br>
&gt; la estandarización de HTML5, aunque viendo el panorama están en ello. Se<br>
&gt; comenta que MPEG o el nuevo MPEG-DASH [1] son los candidatos. MPEG-DASH<br>
&gt; es similar al HLS de Apple.<br>
<br>
</div>Buenos días.<br>
<br>
Yo he tratado de poner en marcha HLS en nuestro servidor de streaming<br>
(basado en flussonic) y no he conseguido configurarlo para streaming<br>
online (pero sí offline, en vídeos estáticos en disco).<br>
<br>
Aún así os recuerdo que eso incrementa enormemente la latencia en el<br>
streaming debido a que debe codificar secuencias completas, dividirlas<br>
en segmentos, cada uno en un bitrate diferente y luego generar el<br>
archivo con los índices a cada parte. Es decir, veo difícil aplicar HLS<br>
a streaming en tiempo real para jderobot (por ejemplo).<br>
<div class="im"><br>
<br>
<br>
&gt; He preguntado a varios colegas que trabajan en sistemas de contenidos<br>
&gt; audio-visuales y todos en sus sistemas tienen plugins para los<br>
&gt; navegadores porque es imposible, de momento, reproducir el mismo<br>
&gt; streaming con el tag video de HTML5.<br>
<br>
<br>
</div>Nosotros optamos y pasado por varias soluciones, cuando usábamos windows<br>
media server usábamos windows media player en el navegador del cliente<br>
para reproducir el streaming. No funcionaba bien en Linux e incluso<br>
algunas veces en windows tampoco (dependiendo del navegador y otros<br>
detalles que ya no recuerdo).<br>
<br>
Hubo un intervalo de tiempo que apostamos por icecast2 y theora, pero el<br>
reproductor java que usábamos ponía la CPU de los equipos antiguos al<br>
100% y la calidad de imagen no era buena si no había correspondencia de<br>
pixel 1:1 entre el vídeo y el tamaño del applet java.<br>
<br>
Con la llegada de flussonic a nuestro servicio empezamos a usar un<br>
reproductor en flash. Desde entonces todo va como la seda en cuanto al<br>
streaming de vídeo, se puede cambiar el tamaño del reproductor, poner a<br>
pantalla completa, etc... aunque no hemos conseguido hacer streaming en<br>
vivo usando bitrate dinámico (HLS).<br>
<div class="im"><br>
<br>
&gt; Creo que Daniel también andaba o había mirado esto ¿llegaste a alguna<br>
&gt; otra conclusión?<br>
<br>
<br>
</div>Yo también he estado con el tema y en mi caso he optado para mis pruebas<br>
por usar MJPEG. A diferencia de MPEG no es necesario codificar una serie<br>
de fotogramas completos antes de poder empezar a enviar datos por el<br>
canal, por cada fotograma se envía por la conexión dicho fotograma<br>
codificado en JPEG y éste es recibido casi de inmediato por el otro<br>
extremo de la comunicación (el navegador web).<br>
<br>
Hay diferentes tipos de fotogramas en MPEG, fotogramas completos,<br>
fotogramas diferenciales (entre el fotograma actual y el anterior) y<br>
fotogramas diferenciales bidireccionales (hacia delante y hacia atrás),<br>
por lo que no se puede dar salida de una secuencia hasta que no se<br>
genere el próximo fotograma completo.<br>
<br>
Esto me suena que ya lo he escrito en esta lista o en alguna<br>
conversación con José María.<br>
<br>
Estos fueron los experimentos que realicé:<br>
<a href="http://www.youtube.com/watch?v=3UHwSxOfxqw" target="_blank">http://www.youtube.com/watch?v=3UHwSxOfxqw</a><br>
<br>
Uso un navegador web normal para visualizar el streaming. Principalmente<br>
hay que destacar la baja latencia y número de imágenes por segundo del<br>
vídeo comparado con cameraserver:<br>
<a href="http://www.youtube.com/watch?v=_d_8pzFQOZ4" target="_blank">http://www.youtube.com/watch?v=_d_8pzFQOZ4</a><br>
<br>
Un saludo.<br>
_______________________________________________<br>
Jde-developers mailing list<br>
<a href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
<a href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers" target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
</blockquote></div><br></div>