Post


Como hacer un reenvio(re-stream) desde una camara IP

Una de las cosas que mas me intereso es como hacer para ver mis camaras que estan conectadas a mi peque�a red hogare�a, por internet.

Yo tengo camaras IP, las cuales por si mismas pueden ser vistas por internet, pero tambien tengo camaras web, las cuales tengo que usar otros programas para poder verlas por internet. Lo cual resulta un lio, usando varios tipos de programas para cada cosa, tengo dificultad en saber que pasa en mi casa cuando no estoy. Eso sumando al hecho que las camaras IP por si mismas no graban cuando detectan movimiento, si no solo toman fotos, y las suben a un servidor FTP y tambien pueden enviarlas por correo, pero no filma.

Me tropeze con un problema y con una solucion bastante interesante, hace un tiempo que veo la posibilidad de controlar mis luces y aparatos de mi casa por internet http://domoticaperu.petrocadsa.com , usando la tecnologia X10, esta aplicacion online tambien puede tomar fotos y enviar fotos no solo de las camaras web(usando flash), si no tambien desde las camaras IP, usando para ello la convension que funciona para mi camara.

Pero aun cuando es centralizado y escalable, tengo la pregunta, y que hay sobre ver mis camaras por internet usando solo esta aplicacion?. Alli es donde me tropiezo con los formatos asf, y jpg(para video). El asf sale de la misma camara IP desde esta direccion http://direcciondelacamara/videostream.asf?user=nombre&pwd=password y funciona solamente con IE, atravez de un activeX, es decir no basta con abrir ese direccion desde el IE, sino que se debe hacerlo atravez de ese activeX, y el otro, me refiero al jpg para video, sale tambien de la misma camara IP desde esta direccion http://direcciondelacamara/videostream.cgi?user=nombre&pwd=password, y funciona con el resto de navegarores, y es un formato bastante simple y facil de entender y puede ser no solo abriendo directamente esa direccion desde el navegador, si no tambien usando este formato�:

[img alt="" src=http://direcciondelacamara/videostream.cgi?user=nombre&pwd=password ]

Ustedes pueden ahora entender lo facil que seria hacer brocasting de las camaras web, usando la misma tecnico, sin embargo el jpg de video solo funciona con todos los navegadores excepto el IE, y alli es donde viene el problema real.

Como puedo hacer brocasting de la camaras IP para internet explorer?, y para las camaras WEB?, la respuesta ahora obvia es usando ASF, tengo las imagenes en JPG tengo ahora que crear una programa en php para que me entregue el ASF.

Alli es donde el ffmpeg�viene a darme la solucion. Este programa de codigo abierto puede transformar una serie de imagenes en archivos ASF usando este formato :

ffmpeg -r 10 -f image2 -i 'img-%03d.jpg' out.asf

donde 10 es el numero de frames por segundo que desea que tome como referencia para crear el asf, image2 debe ser el formato que quiere integrar al asf, y el img-%03d.jpg es el patron a buscar para obtener la secuencia de imagenes.

Funciona muy bien, se obtiene un asf que hasta el internet explorer del windows XP lo puede leer. Sin embargo no sirve para mis propositos pues lo que deseo es tambien hacer brocasting a las camaras IP(aun cuando podria no ser necesario).

Aca es donde me topo con otro ejemplo, como copiar un asf a otro, la idea es copiar el asf remoto al servidor y de alli al mundo

ffmpeg.exe -i http://direcciondelacamara/videostream.asf -vcodec copy -b 800k output.asf

Pero no funciona, pues la camara requiere nombre y password para operar y este no me deja ponerlo pues me salta un error.

La solucion es introducir un cambio en la htaccess, de tal manera que redirija todo el trafico a la camara remota dando el usuario y el password en forma transparente.

ffmpeg.exe -i http://domoticaperu.petrocadsa.com/videostream.asf -vcodec copy -b 800k output.asf

Sin embargo tampoco sirve pues crea un archivo enorme y no para de crearlo, aun cuando el output.asf esta disponible para leerlo inmediatamente, no funciona con el obsoleto internet explorer del windows xp.

Parece que lo mejor es levantar un servicor de video usando ffserver

��
Feed feed1.ffm��
Format swf��
VideoCodec flv��
VideoFrameRate 2��
VideoBufferSize 80000��
VideoBitRate 100��
VideoQMin 1��
VideoQMax 5��
VideoSize 352x288��
PreRoll 0��
Noaudio��

[EMBED src="http://[FFSERVER]/stream1.swf" mce_src="http://[FFSERVER]/stream1.swf" width=640 height=480 type="application/x-shockwave-flash"][/EMBED]

Esto todabia no termina.

Sitios visitados:

http://stream-recorder.com/forum/restream-asf-ip-camera-linksys-wvc54gca-t6025.html

http://ffmpeg.org/download.html

http://ffmpeg.org/ffmpeg.html#mjpeg2jpeg

http://www.abdulqabiz.com/blog/archives/2007/05/31/php-proxy-script-for-cross-domain-requests/� si tambien considere usar un proxy

hay otro sitio mas acerca de una libreria en Zend, pero como la perdi, pongo esto, hasta encontrarla y luego borrar esto.



INICIO ---------------------------------------------------------------------------------------------------------------------------