Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Servidor de webcam con Motion en una Raspberry Pi

Imago voragine.net

Para montar un servidor de webcam en una Raspberry Pi se puede usar Motion. Si ya se tiene un sistema raspbian corriendo en la rasp solo hace falta instalar y configurar Motion.

Motion está pensado para capturar y almacenar imágenes de una o varias cámaras, con la posibilidad de detectar eventos, y mostrar las imágenes capturadas en tiempo real vía HTTP, para poder acceder a ellas remotamente a través de una URL.

Instalar Motion

pi@raspberry:~$ sudo apt install motion

Configurar Motion

Motion se controla desde el archivo de configuración /etc/motion/motion.conf.

Hay dos opciones a cambiar en este archivo para poner en funcionamiento el servidor y poder acceder a las cámaras de manera remota:

daemon = on
webcam_localhost = off

Y en el archivo /etc/default/motion:

start_motion_daemon=yes

Iniciar el servidor Motion

Motion se inicia como cualquier otro servicio:

pi@raspberry:~$ sudo service motion start

El servidor está disponible por defecto en el puerto 8081. El puerto se puede cambiar en el archivo /etc/motion/motion.conf:

stream_port 8081

Configurar varias cámaras

Para añadir varias cámaras hay que configurar cada una de ellas en un archivo en /etc/motion. Se pueden usar los archivos que vienen como ejemplo /etc/motion/camera1.conf, /etc/motion/camera2.conf, etc. Las variables básicas a configurar para cada cámara:

# El archivo al que se asocia la cámara: normalmente /dev/video0 para la primera cámara, /dev/video1 para la segunda cámara...
videodevice /dev/video0
# Tipo de cámara: -1 para cámaras USB
input -1
# puerto al que se lanza el streaming: cada cámara debe ir a un puerto distinto
stream_port 8081

Una vez definidos los valores de cada cámara hay que llamar a los archivos de configuración de cada cámara desde /etc/motion/motion.conf:

camera /etc/motion/camera1.conf
camera /etc/motion/camera2.conf

Guardar las imágenes capturadas

Cuando el servidor está funcionando puede guardar imágenes de cada cámara. La sección Image File Output del archivo de configuración /etc/motion/motion.conf permite definir qué imágenes se guardan, con qué calidad y formato:

# los valores de output_pictures:
# off. No se guardan imágenes
# on. Se guardan todas las imágenes
# first. Se guarda la primera imágen de cada evento
# best. Se guardan las imágenes con más movimiento
# center. Se guardan las imágenes con movimiento en la parte central del encuadre.
output_pictures first
quality 75
picture_type jpeg

No tengo muy claro cómo define motion un «evento». En cualquier caso tiene que ver con cambios sustanciales y bruscos en la imagen. Por ejemplo un evento puede durar desde que una persona entra en el encuadre hasta que sale de él; desde que se enciende una luz hasta que se apaga…

La ubicación donde guardar las imágenes se define con la opción target_dir:

target_dir /var/lib/motion

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks