lunes, 3 de agosto de 2009
Ver tu webcam... desde la web
El programa a usar es mjpg_streamer que hace todo por nosotros. lo obtienen de sus repositorios preferidos o de:
http://sourceforge.net/projects/mjpg-streamer/
ahí tienen un paquete .deb y el código fuente. Para compilar requiere tener instalado "libjpeg" en fin, yo, en mi ArchLinux hago: $yaourt -S mjpg_streamer y en un minuto se baja y compila solo y se instala.
con su webcam CONECTADA ! ejecutan el programa que según las instrucciones que vienen con el mismo y la información de su web, alcanza con indicar el plugin de entrada para nuestro modelo de webcam y el de salida para el server http.
eso se hace, en mi caso, con: mjpg_streamer --input "/usr/lib/input_uvc.so" --output "/usr/lib/output_http.so" porque tengo una cámara UVC
Por el lado de la entrada: cuadros por segundo para que se vea no tan fluido pero no tan cortado y resolución para tener detalle suficiente. Todo orientado a que el ancho de banda que tengo en mi conexion sirva bien para los fines prácticos. Elijo 640x480 a 5 FPS. Ustedes vean las capacidades de su camara y conexión (yo puedo subir a 128kbps). ahh, y le pongo bien el nombre de la camara para no tener problemas.
Por el lado de la salida: especifico un puerto desocupado que pueda recordar y que no sea algo "adivinable" para que no se aproveche algún gil como yo. Por defecto viene el puerto 8080 (do'h), yo prefiero el ¿?¿?¿?¿? otra es que le especifico donde estan los archivos de la página web que usa el server, por ahora uso la que viene en el paquete. A futuro será personalizada, pero hace todo lo que queremos y de varias formas. el importantísimo parametro -n para que no se puedan cambiar las propiedades de imagen de la camara, ni tampoco controlar sus movimientos, si acaso se pudiera.
al final le especifico, fuera de los pluggins, que se ejcute en segundo plano, para que no joda y no tener que disponer de una consola para eso solo (especialmente cuando lo inicio desde otra computadora).
la línea completa me queda así:
mjpg_streamer --input "/usr/lib/input_uvc.so --device /dev/video0 --fps 5 --resolution 640x480" --output "/usr/lib/output_http.so --port ¿¿?? -w /usr/share/webcamserver -n -c ¿USER?:¿PASS?" --background
Tienen 3 opciones para ver el video, JavaScript, Java, Streaming directo (el mejor para Firefox) y tambien tienen para ver la imagen tomada en el momento si no quieren tener el video en vivo, o prefieren ver en detalle sin movimientos. Personalmente, hago un archivo con ese comando largo como contenido y lo nombro "webcamserver", le hago un "sudo chmod +x ./webcamserver" y lo copio a "/usr/bin". Así puedo levantar el servidor por ssh desde cualquier lado sin tanto lio. Para matar el server hago "killall mjpg_streamer" y San Seacabó.
Con eso tengo vigilada la compu cuando quiero via internet.
http://sourceforge.net/projects/mjpg-streamer/
ahí tienen un paquete .deb y el código fuente. Para compilar requiere tener instalado "libjpeg" en fin, yo, en mi ArchLinux hago: $yaourt -S mjpg_streamer y en un minuto se baja y compila solo y se instala.
con su webcam CONECTADA ! ejecutan el programa que según las instrucciones que vienen con el mismo y la información de su web, alcanza con indicar el plugin de entrada para nuestro modelo de webcam y el de salida para el server http.
eso se hace, en mi caso, con: mjpg_streamer --input "/usr/lib/input_uvc.so" --output "/usr/lib/output_http.so" porque tengo una cámara UVC
Por el lado de la entrada: cuadros por segundo para que se vea no tan fluido pero no tan cortado y resolución para tener detalle suficiente. Todo orientado a que el ancho de banda que tengo en mi conexion sirva bien para los fines prácticos. Elijo 640x480 a 5 FPS. Ustedes vean las capacidades de su camara y conexión (yo puedo subir a 128kbps). ahh, y le pongo bien el nombre de la camara para no tener problemas.
Por el lado de la salida: especifico un puerto desocupado que pueda recordar y que no sea algo "adivinable" para que no se aproveche algún gil como yo. Por defecto viene el puerto 8080 (do'h), yo prefiero el ¿?¿?¿?¿? otra es que le especifico donde estan los archivos de la página web que usa el server, por ahora uso la que viene en el paquete. A futuro será personalizada, pero hace todo lo que queremos y de varias formas. el importantísimo parametro -n para que no se puedan cambiar las propiedades de imagen de la camara, ni tampoco controlar sus movimientos, si acaso se pudiera.
al final le especifico, fuera de los pluggins, que se ejcute en segundo plano, para que no joda y no tener que disponer de una consola para eso solo (especialmente cuando lo inicio desde otra computadora).
la línea completa me queda así:
mjpg_streamer --input "/usr/lib/input_uvc.so --device /dev/video0 --fps 5 --resolution 640x480" --output "/usr/lib/output_http.so --port ¿¿?? -w /usr/share/webcamserver -n -c ¿USER?:¿PASS?" --background
Tienen 3 opciones para ver el video, JavaScript, Java, Streaming directo (el mejor para Firefox) y tambien tienen para ver la imagen tomada en el momento si no quieren tener el video en vivo, o prefieren ver en detalle sin movimientos. Personalmente, hago un archivo con ese comando largo como contenido y lo nombro "webcamserver", le hago un "sudo chmod +x ./webcamserver" y lo copio a "/usr/bin". Así puedo levantar el servidor por ssh desde cualquier lado sin tanto lio. Para matar el server hago "killall mjpg_streamer" y San Seacabó.
Con eso tengo vigilada la compu cuando quiero via internet.
Etiquetas: Dato interesante
Suscribirse a Entradas [Atom]