Como Configurar uma Webcam com Detecção de Movimento no Ubuntu

Motion é uma ferramenta útil que pode transformar sua webcam comum em uma câmera de vigilância. Ele faz isso monitorando o sinal da sua webcam e tirando capturas de tela e vídeos quando detecta movimento. Aqui, mostramos como instalar o Motion e configurar uma webcam com detecção de movimento no Ubuntu Linux.
Índice
- Instalando o Servidor Motion
- Configurando o Motion para Seu Sistema
- Mudando o Local de Salvamento Padrão
- Ajustando as Configurações de Detecção no Motion
- Habilitando a Interface Web do Motion
- Gerenciando as Capturas Salvas Remotamente
- Iniciando e Testando o Servidor Motion
Instalando o Servidor Motion
O Motion está incluído por padrão no repositório oficial do Ubuntu. Isso significa que você pode instalar este programa através do seu gerenciador de pacotes apt:
sudo apt install motion v4l-utilsNota: Embora estejamos lidando com o Ubuntu neste artigo, o Motion funcionará para a maioria das distribuições Linux também.
Confirme que seu servidor Motion está funcionando corretamente abrindo o prompt de ajuda do programa:
motion -hConfigurando o Motion para Seu Sistema
Antes de começarmos a configurar o Motion, precisamos copiar o arquivo de configuração para nossa pasta Home para que tenhamos um backup limpo do original. Abra um terminal e copie o arquivo de configuração para sua pasta Home:
cp/etc/motion/motion.conf ~/motion.conf.backupAbra o arquivo de configuração original usando seu editor de texto favorito:
sudonano/etc/motion/motion.confUma das alterações mais fáceis que você pode fazer para o seu servidor Motion é mudar a qualidade de sua saída de imagem e vídeo. Por padrão, o servidor define sua resolução em 640×480, o que pode ser muito pequeno para webcams modernas.
Para mudar isso, execute o seguinte comando em uma nova sessão de terminal para verificar as resoluções disponíveis para sua câmera:
sudo v4l2-ctl -d/dev/video0 --list-formats-ext
Volte para sua configuração do Motion, role para baixo até a categoria “Processamento de Imagem”, e procure pelas variáveis width e height.

Forneça os valores apropriados para a resolução que você deseja. No meu caso, quero rodar o Motion em 1280×720, então digito “1280” como minha largura e “720” como minha altura.

Defina o valor de framerate para a taxa de quadros que você deseja capturar seus vídeos. Por padrão, isso está definido como “15”, mas você pode diminuí-lo para economizar espaço em disco.

Role para baixo até a categoria “Saída de Imagem”, e então defina o valor da variável picture_output para “on”. Isso permitirá que o Motion capture tanto imagens quanto vídeos da sua webcam.

Mudando o Local de Salvamento Padrão
Outra alteração que você pode fazer para o seu servidor Motion é mudar onde ele salva seus dados. Isso pode ser útil se você quiser exportar seus vídeos e imagens capturados para um diretório remoto montado ou um serviço de armazenamento em nuvem como o Dropbox.
Para começar, navegue ou crie o diretório onde você deseja salvar seus dados:
sudomkdir/motion/dataDefina a propriedade do seu diretório para “motion:adm”:
sudochown-R motion:adm /motion/dataCertifique-se de que todo o caminho para seu diretório seja legível por todos os usuários:
sudochmod-R755/motion/dataVolte para sua configuração do Motion, procure pela variável target_dir, e então defina seu valor para o caminho completo do seu diretório.

Ajustando as Configurações de Detecção no Motion
O Motion funciona observando a diferença entre o feed de vídeo atual e o anterior. Se o programa encontrar diferença suficiente entre os dois, classifica isso como “movimento” e grava um vídeo do evento.
Atualmente, o Motion assume que uma diferença de 1500 pixels é suficiente para classificar como “movimento”. Embora isso torne a detecção de movimento fácil para a maioria das webcams, pode ser muito sensível para câmeras de alta resolução.
Para diminuir isso, vá para a categoria “Detecção de Movimento”, e então aumente o valor da variável threshold. Eu acho que 5500 pixels é suficiente para evitar que o Motion grave pequenos movimentos desnecessários do feed da webcam.

Você também pode adicionar a variável threshold_maximum para definir um limite na diferença que o Motion considera como “movimento”. Isso é útil se sua webcam estiver olhando para uma área movimentada e você quiser que ela funcione apenas quando houver menos atividade.
Se você não tiver certeza sobre os valores de threshold e threshold_maximum para sua webcam, pode deixar o Motion ajustá-los para você. Para isso, adicione a variável threshold_tune e defina-a como “on”.

Por fim, você pode configurar o Motion para também gravar os momentos antes e depois de detectar movimento. Para fazer isso, vá para as variáveis pre_capture e post_capture e defina seus valores para a quantidade de quadros adicionais que você deseja salvar.

Habilitando a Interface Web do Motion
O servidor Motion vem com uma interface web que permite monitorar sua webcam remotamente. Para habilitar isso, vá para a seção “Webcontrol” da configuração, e então defina o valor da variável webcontrol_localhost como “off”.
Role para baixo até a seção “Transmissão ao Vivo”, e então defina o valor de stream_localhost como “off”.

Nota: O Motion não possui verificações de autenticação para sua interface web. Assim, qualquer pessoa que conheça o endereço do seu servidor Motion pode visualizar sua webcam e controlar o serviço.
Gerenciando as Capturas Salvas Remotamente
Como mencionei anteriormente, a melhor maneira é salvar as imagens na sua pasta do Dropbox para que você possa acessá-las de qualquer lugar. No entanto, se você preferir que as imagens sejam enviadas para seu próprio servidor de arquivos (via FTP), pode usar o comando wput para enviar as imagens:
sudo apt install wputAbra a configuração do seu servidor Motion, e então insira as seguintes linhas de código no final do arquivo:
on_picture_save wput ftp://SEU-NOME-DE-USUÁRIO:SEU-SENHA@SEU-ENDEREÇO-DO-SERVIDOR %f
on_movie_end wput ftp://SEU-NOME-DE-USUÁRIO:SEU-SENHA@SEU-ENDEREÇO-DO-SERVIDOR %f
Iniciando e Testando o Servidor Motion
Certifique-se de salvar seu arquivo de configuração do Motion, e então execute o seguinte comando para iniciar o servidor:
sudo systemctl enable--now motion.serviceConfirme que o servidor está funcionando corretamente abrindo um navegador web e navegando até o endereço IP da sua máquina seguido de “:8080.”

Isso abrirá uma página mostrando o feed de vídeo atual da sua webcam junto com um menu contendo ações adicionais para seu servidor. Por exemplo, você pode clicar em Ação -> Captura para capturar uma imagem estática da sua webcam.

Teste se o Motion detecta e grava movimento da sua webcam passando um objeto na frente da sua câmera e verificando o conteúdo do seu diretório target_dir.

Há também uma transmissão ao vivo que você pode abrir tanto no seu reprodutor de mídia quanto no navegador web. Para acessar isso, navegue até o endereço IP da sua máquina seguido de “:8081.”

Transformar sua webcam comum em um sistema de detecção de movimento é apenas uma das coisas que você pode fazer com câmeras no Linux. Aprenda mais sobre alguns dos melhores aplicativos de webcam para Linux que você pode instalar e experimentar hoje.
Crédito da imagem: Bermix Studio via Unsplash. Todas as alterações e capturas de tela por Ramces Red.