Monitoramento Simples de Webcam no Linux via Shell

Se você precisa de uma solução rápida para monitorar uma área usando uma webcam em Linux, é possível criar um sistema simples usando apenas shell script, sem precisar de softwares pesados ou interfaces gráficas complexas. Este guia mostra como capturar imagens e detectar movimento de forma básica.

1. Verificando a webcam

Primeiro, confirme se o Linux reconhece sua webcam:

ls /dev/video*

Se o dispositivo /dev/video0 aparecer, significa que a webcam está pronta para uso.

2. Captura básica de imagens e vídeo

Com o ffmpeg instalado, você pode capturar imagens ou vídeos curtos diretamente pela linha de comando.

  • Tirar uma foto única:
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vframes 1 foto.jpg
  • Gravar vídeo curto (10 segundos):
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -t 10 video.mp4

A opção -video_size define a resolução da captura, ajustável conforme necessidade.

3. Captura periódica de imagens

Para monitoramento contínuo, você pode gerar imagens em intervalos regulares:

#!/bin/bash
mkdir -p /tmp/webcam_monitor
while true; do
    timestamp=$(date +"%Y%m%d_%H%M%S")
    ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vframes 1 /tmp/webcam_monitor/$timestamp.jpg
    sleep 5
done

Este script cria uma pasta temporária e salva uma foto a cada 5 segundos com timestamp no nome do arquivo.

4. Detecção simples de movimento

Para adicionar detecção de movimento, é possível comparar imagens consecutivas usando ImageMagick:

#!/bin/bash
mkdir -p /tmp/webcam_monitor
prev=""

while true; do
    timestamp=$(date +"%Y%m%d_%H%M%S")
    current="/tmp/webcam_monitor/$timestamp.jpg"
    ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vframes 1 $current

    if [[ -n "$prev" ]]; then
        diff=$(compare -metric AE $prev $current null: 2>&1)
        if [[ $diff -gt 500 ]]; then
            echo "Movimento detectado em $timestamp"
        fi
    fi
    prev=$current
    sleep 2
done
  • compare é um comando do ImageMagick.
  • O valor 500 define o limiar de diferença entre imagens; pode ser ajustado de acordo com a sensibilidade desejada.

5. Possíveis melhorias que você pode incrementar

  • Gravar vídeo apenas quando houver movimento.
  • Limitar a quantidade de imagens/vídeos armazenados para não ocupar muito espaço.
  • Enviar alertas por e-mail ou Telegram quando movimento for detectado.

Rolar para cima