Sistema de software de vigilância por vídeo de código aberto: ZoneMinder
ZoneMinder é um conjunto integrado de aplicativos que fornecem uma solução completa de vigilância que permite a captura, análise, gravação e monitoramento de qualquer CCTV ou câmeras de segurança conectadas a uma máquina baseada em Linux. Ele foi projetado para ser executado em distribuições que suportam a interface Vídeo para Linux (V4L) e foi testado com câmeras de vídeo conectadas a placas BTTV, várias câmeras USB e também suporta a maioria das câmeras de rede IP.
Distribuição utilizada neste tutorial:
Debian 11 (Bullseye) 64 bits instalação mínima
Como melhorar a produtividade no seu Debian após instalação (Recomendado)
Atualize e instale os pacotes necessários
# apt update -y # apt upgrade -y # apt install vim wget apache2 mariadb-server php libapache2-mod-php php-mysql lsb-release gnupg2 sudo -y
Adicione o repositório do Zoneminder
# echo "deb https://zmrepo.zoneminder.com/debian/release-1.36 "`lsb_release -c -s`"/" > /etc/apt/sources.list.d/zoneminder.list # wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | apt-key add - # apt update
Instalação
# apt install zoneminder
Ajustando o timezone do PHP
# sed -i "s/;date.timezone =/date.timezone = $(sed 's/\//\\\\//' /etc/timezone)/g" /etc/php/7.4/apache2/php.ini
Habilitaremos as configurações do zoneminder para o apache bem como ativar alguns mods.
# a2enconf zoneminder # a2enmod rewrite headers expires cgi
Reinicie o apache
# systemctl restart apache2
Crie um banco de dados para o zoneminder
# mariadb -u root
Altere ALTERE_3ST4_SENHA para sua senha.
CREATE DATABASE zm; GRANT ALL PRIVILEGES ON zm.* TO 'zm'@'localhost' IDENTIFIED BY 'ALTERE_3ST4_SENHA'; FLUSH PRIVILEGES; quit;
Altere em /etc/zm/zm.conf ZM_DB_USER e ZM_DB_PASS para os calores criados.
# vim /etc/zm/zm.conf
ZM_DB_USER=zm ZM_DB_PASS=ALTERE_3ST4_SENHA
Habilite o zoneminder para iniciar no boot e start o mesmo.
# systemctl enable zoneminder # systemctl start zoneminder
Por segurança recomendo definir uma senha para o root do mariaDB
Para aumentar a seguraçã vamos definir uma senha para o usuário root do MariDB, não esqueça de alterar ALTERE_3ST4_SENHA pela sua senha.
# mariadb -u root
USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'ALTERE_3ST4_SENHA'; FLUSH PRIVILEGES; EXIT;
Apague seus rastros, em /root/.mysql_history temos um histórico com todos os comandos dado no terminal do MariaDB, então não é legal deixar lá em texto puro a senha!
# > /root/.mysql_history
Abra o Zoneminder em seu navegador acessando http://___IP___/zm
Clique em APPLY
Para alterar para Portugues acesse o menu Options localize LANG_DEFAULT e altere para pt_br e clique em SAVE. Recarregue a pagina para atualiza.
Para mais ajuda acesse: Guia do Usuário
FONTES:
https://zoneminder.readthedocs.org/
https://wiki.zoneminder.com/Debian_11_Bullseye_with_Zoneminder_1.36.x
https://github.com/ZoneMinder/ZoneMinder
RECOMENDADO:
https://github.com/pliablepixels/zmeventnotification
https://github.com/pliablepixels/zmMagik
https://github.com/manupap1/libzoneminder-plugin-openalpr
Show de bola… É um baita sistema.
Tentei colocar um 2° HD para as gravações mas não é tão simples ate nas documentações. Aguem aqui ja consegui colocar um HD para as gravações?
Preparar o disco secundário:
Certifique-se de que o disco secundário esteja corretamente conectado ao seu sistema e montado. Você pode verificar isso usando o comando lsblk para listar os dispositivos de bloco e verificar se o disco está presente.
Montar o disco (se ainda não estiver montado):
Se o disco não estiver montado automaticamente, você pode montá-lo manualmente em um ponto de montagem adequado. Por exemplo, se o seu disco secundário for identificado como /dev/sdb, você pode montá-lo em /mnt/zoneminder:
sudo mkdir /mnt/zoneminder
sudo mount /dev/sdb /mnt/zoneminder
Certifique-se de ajustar /dev/sdb para corresponder ao seu dispositivo real e /mnt/zoneminder para o ponto de montagem desejado.
Configurar o ZoneMinder para usar o disco secundário:
Para configurar o ZoneMinder para usar o disco secundário para armazenar eventos ou imagens:
Edite o arquivo de configuração do ZoneMinder:
sudo nano /etc/zm/zm.conf
Procure pelas linhas que definem os diretórios de eventos (ZM_PATH_EVENT) e imagens (ZM_PATH_IMAGES). Modifique-as para apontar para o novo ponto de montagem. Por exemplo:
ZM_PATH_EVENT=/mnt/zoneminder/events
ZM_PATH_IMAGES=/mnt/zoneminder/images
Crie os diretórios necessários no disco secundário:
sudo mkdir -p /mnt/zoneminder/events
sudo mkdir -p /mnt/zoneminder/images
Ajuste as permissões se necessário para que o usuário www-data (ou o usuário do Apache/nginx) tenha acesso de escrita aos diretórios:
sudo chown -R www-data:www-data /mnt/zoneminder
Reiniciar o ZoneMinder:
Reinicie o serviço do ZoneMinder para aplicar as alterações:
sudo systemctl restart zoneminder
ZM precisa de um bom Hardware pois tem bastante consumo de memoria quando sobre as câmeras ips…
Boa noite pessoal,
Alguém consegue me dar uma luz, ao digitar o comando abaixo ele apresenta o erro.
root@SVDebian:/home/allaneinstein# a2enconf zoneminder
bash: a2enconf: comando não encontrado
vire root com su –
muito bom conteudo, conheço o zoniminder as uns 18 anos por ai, mas hoje em dia uso mais o shinobi, que tambem é mto bom!
Optmo conteudo, parabens!
Boa Tarde remontti, as imagem é gravada no mesmo HD onde o ZoneMinder está instalado. Minha dúvida seria se as imagens são gravadas
Minhas câmeras são IP e estão ligadas em um DVR mesmo assim eu consigo capturar elas?
Sim, basta obter o fluxo rtsp do dvr com os repectivos canais.
Sempre postando ótimos conteúdos, parabéns!
muito top , parabéns
Show de bola Remontti, parabéns pelo conteúdo.
gostaria de saber até quantas câmeras posso colocar no zone minder e se é possível gravar nele, quantas dias fica a gravação, e tamanho minimo para instalação dele.
Boa pergunta, também estou aprendendo… não sei qual seria o limite, mas acho que estaria ligado a hardware. Quem sabe garimpando a doc tem algo.
Da uma olhada tambem no Shinobi, é até melhor do que o ZM, vale a pena um Tutorial.