Buscando...
05 septiembre 2006
17:42

Instalación de un sistema de video-vigilancia casero

http://www.liberaliatempus.com/articulos/taller/instalacion-de-un-sistema-de-video-vigilancia-casero.html

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:



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 una 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. Se conecta al PC mediante el interfaz USB y se puede conseguir de segunda mano por menos de treinta euros (mil doscientos pesos dominicanos aproximadamente)


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 AllowOverride None Options +ExecCGI Order allow,deny Allow from all# 2ª directivaAddHandler 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.cgiIMAGEDIR=imagesABSOLUTEPATH=/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:///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:

0 comentarios:

 
Back to top!