Si tienes una vieja cámara que no estés usando, sácala del baúl de los trastos porque es posible que puedas darle un nuevo e interesante uso, convirtiéndola en una singular cámara de seguridad y videovigilancia. Para ello en Linux existen diversas alternativas, aunque una de las más interesantes es Motion, una aplicación que permite controlar la señal de vídeo de una o varias cámaras y que además detecta si una parte significativa de la imagen cambia.
O lo que es lo mismo: detecta movimiento. Este programa está escrito en C y está orientado a ser usado con Linux -usando la interfaz de video4linux. La utilidad se aprovecha bajo la línea de comandos, y su salida pueden ser imágenes JPEG o PPM y también secuencias de vídeo MPEG. Hay que tener en cuenta que Motion es una herramienta de línea de comandos y puede funcionar como un daemon con apenas consumo de recursos.
El artículo de UnixMen nos indica lo que Motion puede hacer, y destaca algunas opciones interesantes:
- Tomar capturas de movimiento
- Mostrar múltiples dispositivos de vídeo al mismo tiempo
- Mostrar múltiples entradas de vídeo en una tarjeta de captura al mismo tiempo
- Webcam con streaming en directo (usando multipart/x-mixed-replace)
- Creacióne n tiempo real de películas MPEG usando librerías de FFmpeg
- Tomar fotos de forma automática cada cierto tiempo
- Tomar fotos de forma automática con intervalos irregulares usando cron
- Ejecutar comandos externos cuando se detecta movimiento (por ejemplo, mandar un SMS o un mail)
- Seguimiento del movimiento (se necesita hardware especial)
- Suministro de eventos a una base de datos MySQL o PostgreSQL
- Suministro de vídeo a un dispositivo loopback de video4linux para ver el vídeo en tiempo real
- Montones de proyectos de usuarios relacionados con interfaces web, etc.
- Configurable por el usuario
- Control a través del navegador
- Control automático del ruido y el umbral de la imagen
Podéis un ejemplo en funcionamiento aquí, pero hay multitud de fuentes adicionales para obtener más información sobre este proyecto Open Source que permite convertir una cámara web -o cualquier otra cámara- en un dispositivo de videovigilancia.
Instala Motion
Para instalar Motion tendréis que hacer lo siguiente:
En Ubuntu/Debian y derivadas,
sudo apt-get install motion
En Fedora el RPM está disponible en RPM Fusion:
yum install motion
Para otras distribuciones también hay paquetes, como demuestran nuestros lectores en los comentarios (por ejemplo, en Gentoo, Mandriva y probablemente Arch Linux, además de en otras como openSUSE, seguro). Si no encontráis el paquete por defecto en vuestros gestores de paquetes será necesario descargar e instalar el paquete comprimido, y en ese caso, descomprimirlo e instalarlo con el procedimiento habitual. Por si no lo tenéis fresco, en UnixMen explican cómo compilar el proyecto bajo Ubuntu, pero el procedimiento es idéntico en cualquier otra distribución -siempre y cuando tengamos las herramientas de compilación y las cabeceras-.
Usando Motion
Una vez instalado podremos comenzar a usar Motion abriendo una terminal y escribiendo
sudo motion
Tras instalar Motion tendremos que configurarlo para almacenar las imágenes capturadas en un servidor remoto, y para hacer eso tendremos que instalar wput, un cliente FTP en línea de comandos que se encargue de subir esas fotos capturadas por Motion a un servidor FTP remoto. Para instalar wput en Ubuntu/Debian, por ejemplo, necesitaremos escribir
sudo apt-get install wput
A partir de ahí podremos configurar Motion para almacenar las fotos donde le indiquemos, y para ello tendremos que editar el fichero de configuración con la orden
gedit /etc/motion/motion.conf
Y en ese fichero, al final del todo, tendremos que añadir el servidor FTP (con usuario y contraseña en formato usuario:contraseña) tal y como se indica en este ejemplo:
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)# The filename of the picture is appended as an argument for the command. on_picture_save wput ftp://USERNAME:PASSWORD@REMOTESERVER %f
Además será recomendable añadir Motion a la secuencia de inicio para que el daemon se active cada vez que iniciamos el servidor o el ordenador en el que tenemos montado el sistema de videovigilancia. En Ubuntu lo haríamos yendo a Sistema->Preferencias->Aplicaciones al Inicio y añadir un nuevo programa de inicio, que tendría como comando motion, tal y como se indica en la captura.
Ya podemos abrir una interfaz web para Motion, escribiendo la URL http://localhost:8000 si estamos en el servidor, o bien con la IP o la URL a la que corresponda nuestro servidor web. Para ver un stream en directo de lo que está captando nuestra cámara tendremos que escribir http://localhost:8001. Podremos incluso cambiar algunas preferencias en esta interfaz también, y podremos hacer que Motion genere sus propios ficheros de configuración para ajustarse a nuestras necesidades.
Se puede sacar muchísimo más partido a este proyecto, pero esta es una pequeña introducción que podéis ampliar con un montón de ayudas, como las disponibles directamente desde la página oficial del proyecto, aquí.