Inicio arrow Artículos arrow Taller arrow Instalación de un sistema de video-vigilancia casero
Menú Principal
Lo más leído
Consigue Firefox
Usuarios
957 registrados
1 hoy
1 esta semana
58 este mes
Último: czar...
Formulario de acceso



... Regenerar clave
... Registro
Instalación de un sistema de video-vigilancia casero Imprimir E-Mail
lunes, 04 de septiembre de 2006

Contratar un sistema comercial de vigilancia que contemple la grabación en video supone, por regla general, un desembolso de dinero elevado, bien por el precio de la maquinaria y la instalación, bien porque la empresa instaladora sólo trabaja mediante contratos de mantenimiento que valen más de lo debido. Si bien ese tipo de sistemas comerciales pueden ser imprescindibles en entornos concretos, son muchas las ocasiones en las que contratar el servicio, aún siendo necesario, escapa por completo al presupuesto disponible. Vamos a estudiar en este artículo cómo crear un sistema de video-vigilancia adaptable a casi cualquier presupuesto. 


Preliminares

Instalaremos nuestro sistema de vigilancia en un piso con una superficie de ochenta metros cuadrados con un aspecto en plano similar a este:

Disposición piso

Nos interesa tener vigilado el paso por un lugar concreto del pasillo de entrada a la vivienda, así que dispondremos una instalación basada en una cámara que abarque toda esa zona. Para nuestros propósitos, es necesario tener a nuestra disposición una webcam y un ordenador PC. Este artículo se ha escrito haciendo las pruebas con el siguiente equipamiento:

  • Cámara webcam Logitech Quickcam Zoom, que llega a grabar a una velocidad de 30 fps, a una resolución de 640 por 480 píxeles. quickcamzoomSe conecta al PC mediante el interfaz USB y se puede conseguir de segunda mano por menos de treinta euros .
  • PC Pentium III 1.100 Mhz. con 512 MB de memoria RAM, un disco duro de 70 GB y una tarjeta gráfica SiS con 64 MB de RAM integrada en la placa base.
  • Monitor VGA CRT de 15 pulgadas.
  • Sistema operativo linux Ubuntu Dapper Drake.
  • Servidor Web Apache.
  • Programa Motion con la extensión Motion.cgi.

A priori, el coste de todo el material no debería sobrepasar los cien euros si sabemos bien dónde buscar todas las piezas.


Instalación del hardware

La instalación de la cámara la haremos siguiendo el esquema anterior, donde se muestra la disposición que nos interesa. Colocaremos el dispositivo en la parte media de la pared y haremos un pequeño taladro para poder pasar el cable USB hasta la habitación donde va a quedar colocado el PC. En nuestro caso, hemos tenido que usar un pequeño alargador adicional USB de un metro y medio que ha permitido bajar el cableado por un lugar no visible. La cámara no necesita alimentación adicional, así que, una vez colocada y enchufada al PC, habrá terminado nuestro trabajo y quedaremos a la espera de tener la imágen capturada para calibrar la posición como es debido.


Instalación del software

Existen multitud de sistemas de software adaptados a la video-vigilancia que funcionan bajo entornos linux. Por ejemplo, el software "Devolution Security System" (http://devsec.sourceforge.net/), nos permite disponer de una aplicación semi-profesional orientada a la vigilancia. Permite el control de hasta dieciséis cámaras, detecta movimiento, graba secuencias de video en mpeg4, emite video hacia la red local o hacia internet, etc. Algo más de lo que nosotros andamos buscando, pero que nos puede dar una idea de las capacidades de adaptación de nuestro sistema a un coste realmente bajo.

El software elegido para la aplicación de nuestro proyecto se llama Motion (http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome), un programa de deteccción de movimiento creado por Kenneth Jahn Lavrsen. Motion orienta su funcionamiento hacia cámaras de tipo V4L (generalmente webcams) y su operativa es relativamente sencilla: el programa captura imágenes desde el dispositivo y las compara. Si la imagen actual difiere de la anterior en un número de píxeles configurable, queda almacenada en el disco, teniendo la posibilidad de que el programa genere una película de video a partir de una serie de imágenes fijas. Además de almacenar la imagen o generar un video, el programa es capaz de emitir un sonido de alerta cuando se produzca el evento. Podemos motitorizar las acciones y el funcionamiento del programa mediante una interfaz web accesible desde cualquier ordenador con una conexión a internet, lo que hace que el control sobre el programa de detección sea total.

La instalación del software se puede hacer desde los paquetes pre-compilados (en la página web se pueden descargar versiones para las distribuciones más importantes) o desde la compilación directa del código fuente, que se ofrece en un archivo comprimido. Para una instalación sobre Ubuntu, elegiremos para la instalación la herramienta apt-get, que nos evitará tener que andar buscando las distintas dependencias (para otras distribuciones, habrá que descargar el paquete de la página web y atender a las dependencias):

[root@ubuntu02 ~]# apt-get install motion

Tras la instalación del programa principal, descargaremos e instalaremos el script Motion.cgi. Este script nos permitirá acceder al programa Motion a través de un navegador web y nos permitirá repasar, modificar o borrar las diferentes capturas de pantalla y los videos. Para la instalación del programa, descomprimiremos el contenido del archivo en el directorio de publicación de Apache (/var/www/ en Ubuntu) y copiaremos el fichero motion.cgi.conf en la rama de configuraciópn /etc.

[root@ubuntu02 ~]# tar xvzf motion.cgi-0.1.tar.gz
[root@ubuntu02 ~]# cp motion.cgi-0.1/motion.cgi.conf /etc/

Una vez hecho esto, tendremos que modificar unas lineas del archivo de configuración general de Apache (http.conf) que nos permita la ejecución de los archivos cgi incluidos con el script. Buscaremos las siguientes directivas en el archivo de configuración y las adaptaremos a nuestro caso particular. Si no existen dichas directivas, las crearemos (con estas directivas se permite la ejecución de archivos cgi fuera de la directiva configurada en ScriptAlias, ya que suponemos que nuestro sistema no se está instalando en un entorno de producción) :

# 1ª directiva
<Directory "/var/www/motion.cgi-0.1">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>

# 2ª directiva
AddHandler cgi-script cgi pl

Para terminar, y como nuestra intención es grabar secuencias de video, necesitaremos algún codificador de MPEG instalado en el sistema. El autor de este artículo se decanta por ffmpeg, ya que proporciona soporte directo para Motion.

[root@ubuntu02 ~]# apt-get install ffmpeg

El resto de la configuración de Apache puede quedar tal y como se ofrece por defecto, así que con este último paso quedará instalado todo el programa y sólo nos faltará adaptar la configuración a nuestro caso particular. 


Configuración del sistema

Aunque en primer lugar deberíamos atender a la configuración de nuestra cámara, esto no será necesario, pues el modelo expuesto es reconocido de forma totalmente automática por nuestro sistema. Si estamos haciendo la instalación con otro modelo de cámara, lo primero que tendremos que hacer es comprobar que el sistema la reconoce de forma adecuada. Para hacer esto, simplemente cargaremos una aplicación tipo Camorama (http://camorama.fixedgear.org/) y comprobaremos que la cámara funciona de forma adecuada y expone correctamente los colores.

El programa Motion lee su configuración del archivo /etc/motion/motion.conf. La lista de opciones de configuración es bastante extensa, así que conviene abrir la página del manual (man motion) y leer la sección relativa a las opciones de configuración. Para hacer nuestras primeras pruebas, atenderemos especialmente a siguientes opciones: target_dir, que establece la ruta dónde se guardarán las imágenes o el video; videodevice, que especifica el dispositivo de video a usar (/dev/video0 para la cámara web); width y height, que establecen el tamaño de grabación de las imágenes (lo dejaremos en 320 y 240 para empezar); framerate, que especifica los frames a capturar por segundo (para la cámara propuesta podemos establecer 25 sin problema); threshold, que le indica al programa qué número de píxeles deben ser distintos a la imagen anterior para que se detecte un cambio (con 1500 es más que suficiente para detectar el movimiento de una persona, pero lo reduciremos si el movimiento a detectar es de algo más pequeño); ffmpeg_cap_new on especifica que grabará películas en tiempo real. Dejaremos el resto de opciones en su valor por defecto o bien atenderemos a las distintas explicaciones que nos ofrece el archivo de configuración de ejemplo que viene junto al programa

Por su parte, el script motion.cgi se ejecuta mediante la lectura del archivo /etc/motion.cgi.conf. Dicho archivo sólo contiene en su interior cinco parámetros que dejaremos de la siguiente forma:

SOURCE=webcam=webcam-live.cgi
IMAGEDIR=images
ABSOLUTEPATH=/var/www/motion.cgi-0.1/
RELATIVEPATH=/motion/
MOTIONBIN=/usr/bin/

Con los cambios adicionales que deseemos aplicar al archivo /etc/motion/motion.conf y el script motion.cgi configurado podemos pasar a la ejecución del programa.


Puesta en marcha

Accederemos al interfaz mediante la dirección http://<IP del sistema>/motion.cgi-0.1/ y cargaremos de esta forma el script motion.cgi, el cual nos permitirá un control casi total del programa. Como podemos observar, el funcionamiento es bastante sencillo: Las dos primeras opciones nos permiten listar las fuentes disponibles de nuestro dispositivo: Tree muestra un árbol en la parte superior con las imágenes y los videos capturados y Live muestra la captura en tiempo real de la webcam. Con Start/Stop Motion iniciaremos o pararemos el programa. Con las tres opciones siguientes obtendremos el estado del programa y forzaremos la captura de una imagen o un video. Una vez en funcionamiento, el aspecto de nuestro interfaz podría parecerse a esto:

Motion.cgi


Conclusiones

Tal y como hemos podido observar, el montaje de un sistema de video-vigilancia no tiene que suponer el desembolso de grandes cantidades de dinero. Con un poco de imaginación y algo de atención, podemos montarnos un sistema semi-profesional que permitirá tener vigiladas ciertas zonas de interés. El programa Motion tiene una capacidad tremenda para convertir dicho sistema en algo que va más allá de lo casero, pero eso ya queda al arbitrio del interés que pueda tener el lector de adentrarse en los entresijos del programa. Nosotros hemos cumplido con nuestro propósito, que era demostrar la implantación de un sistema casero de video-vigilancia con herramientas de software libre y material de bajo coste.


Recursos

 


Comentario[s]
Saludos
Escrito por iopp el 2006-09-05 18:58:14
Hola, llegué a la página por meneame, me parece genial este "mini como", gracias, ya empecé a ensamblar mi sistema de vigilancia, cuando lo termine escribiré otro comentario. 
Saludos :p
2 pegas
Escrito por kaf el 2006-09-10 21:06:37
Gracias por el tutorial, pero yo me he encontrado con 2 pegas. 
 
La primera es que tengo que cargar motion "a mano", ejecutando "motion" desde la línea de comandos. No puedo cargar/descargar desde la aplicación web (un mal menor). 
 
Pero lo que realmente me preocupa es que no veo las imágenes de mi webcam (con Camorama no tengo problema) y, por lo tanto, no puedo ni tomar "instantáneas" ni generar vídeos. 
 
He puesto los valores que tengo en Camorama, he mirado la documentación de motion... pero no he conseguido nada. ¿Puede ser, simplemente, que no se consiga cargar el applet? 
 
Gracias.
Escrito por mhbeyle el 2006-09-10 21:28:28
Yo repasaría lo siguiente: 
 
1.- Mira a ver qué error te da el interfaz web cuando pones en marcha el programa. Es muy raro que Motion no arranque con el interfaz. 
2.- Que Motion carga correctamente (durante la carga debería detectarte la cámara y establecer un modo de color, además de abrir el streaming de video por web). 
3.- Con el programa Motion tal cual es muy seguro que no vas a ver nada en pantalla, así que fíjate en el directorio especificado en target_dir a ver si recoge algún fichero. Si es así y Motion te funciona, te puedo buscar otro script más elaborado para ver los videos e imágenes. 
 
Yo creo que hay un problema con la carga de Motion, más que con el applet. Repasa bien el archivo de configuración y pon valores de captura bajos para empezar.
Me pasa lo mismo que a kaf
Escrito por difedoca el 2006-09-11 07:55:14
No me carga motion y no sale ninguna imagen, pero cuando voy a consola y cargo motion y hago movimientos si me genera imagenes y videos en el directorio que le indique pero en el motion-cgi no pasa nada, en webcam live sale  
 
 
Java applet for broken browsers 
ya
Escrito por difedoca el 2006-09-11 09:06:31
Ya consigo ver imagenes en el enlace webcam tree pero en live no veo nada no hay video streaming y el .avi no lo abre desde la web, me gustaria ver el video en vivo, asi sea dandole click y que con el plugin del reproductor salga, que hago?
¿Como?
Escrito por odin el 2006-09-14 21:05:49
¿Como has hecho? por que yo estoy como vosotros al principio. Ni puedo arrancar el motion desde el interfaz web, ni ver nada en tree ni el live video. Motion funciona si lo arranco a mano
anda?
Escrito por heliotropo el 2006-10-27 04:10:18
Hola.  
¿a alguien le finciono? 
Desde la interfaz web, arranco motion, pongo status y dice q esta corriendo. 
Pero no muestra ninguna imagen y el webcam-lin me dice lo mismo que a los demas. 
 
Java applet for broken browsers
como?
Escrito por heliotropo el 2006-10-27 04:12:25
difedoca, como hicistes para ver imagenes en webcam tree? 
que modificastes?
AYUDA
Escrito por patty el 2007-02-06 16:37:09
HOLA,lei el articulo y me parecio interesante, lo que yo necesito saber es como hago para conectar varias camaras a un solo monitor y porder acceder a ellas mediante aplicacion web, es decir q varias personas puedan acceder a esas camaras al mismo tiempo desde cualquier lugar. que cosas necesito o como hago me podrian ayudar por favor?
Aclarar algunas dudas
Escrito por lrra1961 el 2007-12-04 20:57:04
en mi caso puedo levantar el script Motion.cgi a traves de la web, pero tengo 2 problemas que no les encuentro solucion y me gustaria que me pudieran echar una mano, lo primero es que tengo instalada una capturadora de TV saa7130 que aparece como V4L2 y esta conectada a slot PCI y la webcam a puerto USB y aparece como V4L, es decir me aparecen dos dispositivos un video0 y video1, pero no se porque a veces la webcam me aparece como video0 y otras como video1 y viceversa con la tarjeta de TV, eso por una parte. Lo otro es que al capturar desde la tarjeta de TV como hay movimiento constante en la imagen al HDD le llega a salir humo guardando imagenes de falsos movimientos, de hecho haciendo una prueba me ocupo 1 Gb en el HDD. Lo que me gustaria es saber que hacer para capturar siempre desde solo una de las dos o de la webcam o de la capturadora de TV, porque en ella tengo en el Compsite1 una camara de vigilancia tambien, y lo ultimo como configuro el motion.cgi.conf porque en mi caso lo tengo con xampp o sea el directorio de las paginas web no esta en /var/www sino en /opt/lampp/htdocs
De mucha ayuda
Escrito por guillomo el 2008-05-13 04:31:29
Gracias por las explicaciones. Son muy útiles y fáciles en la instalación de cámaras de vigilancia.

Sólo los usuarios registrados pueden escribir comentarios.
Por favor, valídate o regístrate.

Powered by AkoComment 2.0!

 
< Anterior