Hola, esto es bueníiisimo, increiblemente fácil y aprueba de salames como yo

Ni más ni menos que el sueño húmedo del hacker de los años 90... poder ver lo que pasa frente a tu webcam desde cualquier lado (como le pasó al pibe de american pie 1)

Se necesita, OBVIAMENTE:
una webcam, linux y conexión a internet


Ver tu webcam... desde la web
server
Vigilancia


El programa a usar es mjpg-streamer que hace todo por nosotros.
lo obtienen de sus repositorios preferidos o de:

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 y zas,zas,zas (como dice el chavo del 8).

no se como anda debian y sus derivados, pero seguramente con un apt-get lo arreglan, con emerge, yum, pacman, dependiendo de su distribución.

EEENNN FIN, revolviendo al tema del post:
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

y sale bien... pero como a mi no me gusta que se monte un server ni nada de eso para que me vean todos frente a la compu, le pongo más parámetros, a saber:

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.
y el más importante de todos el que nos pone el user:pass para que no sea cosa que cualquier salame nos vea la cara mientras jugamos al CS o visitamos P!


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


El resultado, visto en el navegador:

http


(NO, no es una foto mía.)

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. Pero OJO !!!, que no te pase como al pibe de American Pie !!!




Espero que les sirva.