Cómo configurar una cámara web con detección de movimiento en Ubuntu

Cómo configurar una cámara web con detección de movimiento en Ubuntu
Una fotografía de una persona arreglando una cámara de seguridad.

Motion es una herramienta útil que puede convertir tu cámara web habitual en una cámara de vigilancia. Lo hace controlando la señal de tu cámara web y tomando capturas de pantalla y vídeos cuando detecta movimiento. Aquí te mostramos cómo instalar Motion y configurar una cámara web con detección de movimiento en Ubuntu Linux.

Instalación del servidor de movimiento

Motion está incluido de forma predeterminada en el repositorio oficial de Ubuntu. Esto significa que puedes instalar este programa a través de tu gestor de paquetes apt:

Confirme que su servidor Motion esté funcionando correctamente abriendo el mensaje de ayuda del programa:

Configuración del movimiento para su sistema

Antes de comenzar a configurar Motion, debemos copiar el archivo de configuración a nuestra carpeta de inicio para tener una copia de seguridad limpia del original. Abra una terminal y copie el archivo de configuración a su carpeta de inicio:

Abra la configuración original usando su editor de texto favorito:

Uno de los ajustes más sencillos que puedes hacer en tu servidor Motion es cambiar la calidad de la salida de imagen y vídeo. De forma predeterminada, el servidor establece su resolución en 640×480, lo que puede resultar demasiado pequeño para las cámaras web modernas.

Para cambiar esto, ejecute el siguiente comando en una nueva sesión de terminal para verificar las resoluciones disponibles para su cámara:

Una terminal que muestra la lista de las resoluciones disponibles para la cámara web.

Regrese a su configuración de Motion, desplácese hacia abajo hasta la categoría “Procesamiento de imágenes”, luego busque las variables widthy height.

Una terminal que muestra los valores predeterminados para la resolución de la cámara web de Motion.

Proporciona los valores adecuados para la resolución que deseas. En mi caso, quiero ejecutar Motion en 1280×720, por lo que escribo “1280” como ancho y “720” como alto.

Una terminal que muestra los valores de resolución más altos actualizados para Motion.

Establezca el frameratevalor de la velocidad de cuadros con la que desea capturar sus videos. De manera predeterminada, está configurado en “15”, pero puede reducirlo para ahorrar espacio en el disco.

Una terminal que resalta la variable de velocidad de cuadros en el archivo de configuración de Motion.

Desplácese hacia abajo hasta la categoría “Salida de imagen” y luego configure el valor de la picture_outputvariable en “activado”. Esto permitirá que Motion capture imágenes y videos desde su cámara web.

Una terminal que muestra la variable picture_output dentro del archivo de configuración de Motion.

Cambiar la ubicación de guardado predeterminada

Otro ajuste que puedes hacer en tu servidor Motion es cambiar el lugar donde guarda sus datos. Esto puede resultar útil si quieres exportar los vídeos e imágenes capturados a un directorio remoto montado o a un servicio de almacenamiento en la nube como Dropbox.

Para comenzar, navegue hasta el directorio en el que desea guardar sus datos o créelo:

Establezca la propiedad de su directorio en “motion:adm”:

Asegúrese de que la ruta completa a su directorio sea legible para todos los usuarios:

Regrese a su configuración de Motion, busque la target_dirvariable y luego establezca su valor en la ruta completa de su directorio.

Una terminal que resalta el directorio de datos personalizado para Motion.

Ajuste de la configuración de detección en movimiento

El movimiento funciona observando la diferencia entre la señal de video actual y la anterior. Si el programa encuentra suficiente diferencia entre las dos, la clasifica como «movimiento» y graba un video del evento.

Actualmente, Motion asume que una diferencia de 1500 píxeles es suficiente para clasificarlo como “movimiento”. Si bien esto hace que la detección de movimiento sea fácil para la mayoría de las cámaras web, puede ser demasiado sensible para cámaras de mayor resolución.

Para atenuar esto, vaya a la categoría “Detección de movimiento” y luego aumente el valor de la thresholdvariable. Considero que 5500 píxeles son suficientes para evitar que Motion registre pequeños movimientos innecesarios de la señal de la cámara web.

Una terminal que muestra un valor de umbral personalizado para el servidor Motion.

También puedes agregar la threshold_maximumvariable para establecer un límite en la diferencia que Motion considera como «movimiento». Esto es útil si tu cámara web apunta a un área concurrida y solo quieres que funcione cuando haya menos actividad.

Si no estás seguro de los valores thresholdy threshold_maximumde tu cámara web, puedes dejar que Motion los ajuste por ti. Para ello, agrega la variable threshold_tuney configúrala en «activada».

Una terminal que muestra las diferentes opciones de umbral de píxeles para movimiento.

Por último, puedes configurar Motion para que también grabe los momentos antes y después de detectar movimiento. Para ello, ve a las pre_capturevariables post_capturey y establece sus valores en la cantidad de fotogramas adicionales que quieres guardar.

Una terminal que muestra los cuadros adicionales al capturar imágenes y vídeos en Motion.

Habilitación de la interfaz web de Motion

El servidor Motion incluye una interfaz web que te permite controlar tu cámara web de forma remota. Para habilitarla, ve a la sección “Webcontrol” de la configuración y luego establece el valor de la webcontrol_localhostvariable en “off”.

Desplácese hacia abajo hasta la sección “Transmisión en vivo” y luego configure el valor en stream_localhost“desactivado”.

Una terminal que muestra las dos opciones que debe deshabilitar para permitir que los sistemas remotos accedan a la consola web de Motion.

Administrar las capturas guardadas de forma remota

Como mencioné anteriormente, la mejor manera es guardar las imágenes en tu carpeta de Dropbox para que puedas acceder a ellas desde cualquier lugar que desees. Sin embargo, si prefieres tener las imágenes cargadas en tu propio servidor de archivos (a través de FTP), puedes usar el comando wputpara cargar las imágenes:

Abra la configuración de su servidor Motion, luego inserte las siguientes líneas de código al final del archivo:

Una terminal que muestra los dos ganchos de script para guardar los medios capturados en un servidor remoto.

Iniciar y probar el servidor de movimiento

Asegúrese de guardar el archivo de configuración de Motion y luego ejecute el siguiente comando para iniciar el servidor:

Confirme que el servidor esté funcionando correctamente abriendo un navegador web y navegando a la dirección IP de su máquina seguida de “:8080”.

Una captura de pantalla que muestra la consola web de Motion.

Se abrirá una página web que muestra la transmisión de video actual de su cámara web junto con un menú que contiene acciones adicionales para su servidor. Por ejemplo, puede hacer clic en Acción -> Instantánea para capturar una imagen fija de su cámara web.

Una captura de pantalla que muestra las diferentes acciones que puedes realizar desde la consola web de Motion.

Pruebe si Motion detecta y graba el movimiento de su cámara web pasando un objeto frente a su cámara y verificando el contenido de su target_dirdirectorio.

Una captura de pantalla que muestra a Motion guardando sus medios capturados en un directorio personalizado.

También hay una transmisión en vivo que puedes abrir desde tu reproductor multimedia o navegador web. Para acceder a ella, navega hasta la dirección IP de tu equipo seguida de “:8081”.

Una captura de pantalla que muestra la transmisión de video dedicada de Motion.

Convertir tu cámara web habitual en un sistema de detección de movimiento es solo una de las cosas que puedes hacer con las cámaras en Linux. Obtén más información sobre algunas de las mejores aplicaciones de cámara web para Linux que puedes instalar y probar hoy mismo.

Crédito de la imagen: Bermix Studio vía Unsplash . Todas las modificaciones y capturas de pantalla son de Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *