Hoy:

8 abr 2017

Videovigilancia: motioneye - un tutorial extenso

Zoneminder es un excelente programa para tener videovigilancia en Linux, pero excesivo para mis necesidades. Yo suelo usar la videovigilancia para asuntos más triviales, y con una o dos cámaras por usb tengo suficiemte. Hasta ahora usaba un sencillo pero muy eficiente programa: Kmotion (que he comprobado que ha tenido mucho exito en el blog), pero ya no es compatible con las nuevas distribuciones, y estoy perezoso para investigar y solucionarlo.
Pero os traigo un excelente trabajo del programador Calin Crisan: motioneye
Voy a explicar detalladamente cómo instalarlo y configurarlo con un ejemplo de mi instalación personal.

Personalmente uso un minipc con Ubuntu 16.04. Vamos a ello:

1-Añadimos repositorio para ffmpeg 3.2 e instalamos motion (detección de la webcam), ffmpeg (codificar en video las capturas) y v4l-utils (herramienta de dispositivo)
      Para no tener que esscribir tantas veces sudo en el terminal:

sudo su

add-apt-repository ppa:jonathonf/ffmpeg-3
apt-get update
apt-get install motion ffmpeg v4l-utils

2-Seguídamente  lo necesario para instalar y mantener actualizado motioneye

apt-get install python-pip python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev

3-Instalamos motioneye

apt-get install python-pip
pip install --upgrade pip

pip install motioneye


  •  Si se va usar una configuración de Sistema para guardar las capturas (yo prefiero una configuración de usuario):

 mkdir  -p /etc/motioneye

cp /usr/local/share/motioneye/extra/motioneye.conf.sample  /etc/motioneye/motioneye.conf

cp  /usr/local/share/motioneye/extra/motioneye.systemd-unit-local 

/etc/systemd/system/motioneye.service

4-Configurar

Editamos  /etc/systemd/system/motioneye.service  para adaptarlo a un uso como usuario:

nano  /etc/systemd/system/motioneye.service

y modificamos según nuestros datos:

[Unit] 
Description=motionEye Server

[Service]
ExecStart=/usr/local/bin/meyectl startserver -c /home/pepe/motioneye/motioneye.conf
User=pepe
Restart=on-abort


[Install]
WantedBy=multi-user.targe
t

Ahora actualizamos los cambios:

  systemctl daemon-reload
  systemctl enable motioneye

  systemctl start motioneye
  • Ahora vamos con la configuración en nuestro home personal:
  • Entramos en nuestro espacio de usuario:
cd
o tambien: cd $HOME

mkdir  motioneye

Donde se guardarán las capturas:
mkdir motioneye/media
Donde se guardará el log:
mkdir motioneye/log
Donde se guardará motion.pid y motioneye.pid
mkdir motioneye/run

Ahora añadimos y editamos el archivo de configuración de nuestro motioneye:

nano motioneye/motioneye.conf

Y escribimos nuestros datos (sustituir cada uno por los suyos), este es un ejemplo real:
motioneye.conf

Cada cual ajuste según sus necesidades

Si vamos a acceder desde el exterior habrá que redirigir en el router el puerto 8765  a la IP de nuestra red local.

Desde fuera de nuestra red local:  IP_PÚBLICA:8765

Nota: Si lo creemos oportuno podemos cambiar el puerto 8765

5-Vamos a conectarnos vía web, añadir nuestra webcam y configurarla:

Abrimos el navegador y apuntamos a la dirección IP de nuestro servidor de videovigilancia: 

192.18.1.2:8765

Entrada inicial por defecto, después se cambia para más seguridad:
Login : admin
password : vacío, no tiene



Entramos y hacemos clic en el enlce para añadir las webcams:


Normalmente detectará nuestra webcam, la añadimos y entramos en la sección de configuración:

Descripción detallada de la configuración (guardar la imagen para verla a resolución completa):

Y para ver cada sección detallada:

Preferencias

 Usuarios y Backup

Dispositivo de Video

Almacenamiento

Texto en capturas

Configuración del streaming

Configuración de imágenes estáticas

Configuración de videos

Configurar detecciones

Notificaciones

Reglas de tiempos


Y cuando queremos ver los cambios realizados:




  • Añadir máscara de detección:

Vamos al apartado: Motion Detection ---> Mask


Y encontramos 2 posibilidades
Smart : define la zona de máscara automáticamnete dependiendo estadísticamente donde hay más detecciones o movimientos. Hay poco más que comentar.
Editable : La definimos nosotros manualmente



Y ahora a probar las detecciones y disfrutar del programa!!

Próximamente añadiré un tutorial de cómo colocar botones (iconos) en la interfaz web para gestinar el movimiento de la cámara.
Pondré un ejemplo práctico para una Logitech Orbit AF.