Pular para o conteúdo

Zoneminder: Substituindo um Unifi NVR

Neste artigo, descrevo como usei um servidor Debian com o Zoneminder para substituir um Unifi NVR.
Paulo Dias di4s
Hits: 23.581 Categoria: Linux Subcategoria: Redes
  • Indicar
  • Impressora
  • Denunciar

Parte 2: Configurando as Câmeras

Para configurar as câmeras Unfi no Zoneminder, foi necessário acessar a interface WEB delas e trocar o modo de operação para Standalone.

Com essa mudança, a câmera entendeu que iria trabalhar sozinha, sem um Unifi NVR, e habilitou algumas opções na sua interface.
Linux: Zoneminder: Substituindo um Unifi NVR
Entre as novas opções, ficou disponível a URL do stream RTSP da câmera. Foi através dessa URL que a câmera foi configurada no Zoneminder. No Zoneminder, as câmeras são definidas como monitores e podem ser adicionadas com o botão 'Add New Monitor', presente na tela inicial.
Linux: Zoneminder: Substituindo um Unifi NVR

Como a configuração de câmeras no Zoneminder é bem ampla, vou descrever apenas opções que eu utilizei, outras possibilidades podem ser conferidas nesse link:
Para configurar as câmeras Ubiquiti, fiz o seguinte:

1. Na aba "General", alterei o "Source Type" para "FFmpeg" e "Function" para "Modect" (a opção Modect indica que será feita a gravação por movimento).

2. Na aba "Source", alterei o "Source Path" para: rtsp://usuario_camera:senha_camera@ip_camera:554/s0

O "Capture Width" para "1280" e "Capture Height" para "720".

Salvei e câmera ficou disponível na tela inicial do Zoneminder.
Linux: Zoneminder: Substituindo um Unifi NVR
Para configurar a câmera Axis, primeiro foi necessário ativar a flag "OPT_CONTROL", nas opções do Zoneminder, dentro da aba "System". Essa configuração habilita o controle PTZ do Zoneminder.

Feito isso, a configuração da câmera Axis foi feita de forma semelhante à das câmeras Ubiquiti, porém, o Source Type ficou como Remote e, na aba Source, os campos Remote Host Name e Remote Host Path ficaram com os valores "usuario:senha@ip_camera" e "/axis-cgi/mjpg/video.cgi".
Linux: Zoneminder: Substituindo um Unifi NVR

Além disso, na aba "Control", foi feita a configuração do PTZ. No campo "Control Type" foi usado a opção "Axis API v2", no campo "Control Device" foi usado o valor "axis-cgi/com/ptz.cgi". E no campo "Control Address", foi usado o valor "usuario :password@ip_caminho".
Linux: Zoneminder: Substituindo um Unifi NVR
Uma observação é que, a principio, o controle PTZ dessa câmera não funcionou. Eu não sei se foi algo específico desse modelo, ou se é algum bug na Axis API, mas o controle PTZ inicialmente não movimentava a câmera.

Analisando as requisições que o Zoneminder fazia na API da câmera, notei que um cookie que a câmera usa na sua interface WEB não estava sendo enviado pelo Zoneminder.

Para corrigir isso, fiz uma alteração no código responsável por conversar com a API da câmera. Faça essa alteração apenas se for usar esse modelo e também estiver com problemas com o PTZ.

Primeiro, fiz um backup do arquivo original:

cp /usr/share/perl5/ZoneMinder/Control/AxisV2.pm ~

Depois, dentro do arquivo /usr/share/perl5/ZoneMinder/Control/AxisV2.pm, alterei o conteúdo da "sub open", para seguinte:

sub open
{
    my $self = shift;

    $self->loadMonitor();

    use LWP::UserAgent;
    use HTTP::Cookies;

    $self->{ua} = LWP::UserAgent->new;

    my $cookie_jar = HTTP::Cookies->new();

    $self->{ua}->agent( "ZoneMinder Control Agent/".ZoneMinder::Base::ZM_VERSION );

    $self->{ua}->cookie_jar( $cookie_jar );

    $self->{state} = 'open';
}

Linux: Zoneminder: Substituindo um Unifi NVR
Realizada essa alteração, precisei reiniciar o sistema e o controle PTZ começou a funcionar.

   1. Instalação
   2. Configurando as Câmeras
   3. Montando Tela para Monitoramento
   4. Compilação e Instalação no Android

AWK - Manipulação de arquivos de texto

Programação com Shell Script

MathML - Mathematical Markup Language

Bitwise - Escovando os bits

Como criar um box para o Vagrant

Montagem de Cluster

Zabbix no Debian 7.8.0

Nagios Core 4.0.8 com Debian 7 e Client Windows Server

DHCP e VLANs no CentOS 6.5 - Instalação e configuração

FreeRadius 3 + iODBC + Base de Dados em MS SQL Server 2008 no Ubuntu Server - Guia definitivo

#1 Comentário enviado por osni_silva em 28/02/2020 - 15:11h
Olá amigo!
Parabéns, pela matéria.
Faltou deixar o .apk.
Outra dúvida, instalei o ubuntu também no meu AirVision(2014) - porem com 2 câmeras o processamento fica colado.
Como ficou o seu?
#2 Comentário enviado por dougcacoal em 19/03/2021 - 11:47h

Bom dia, voce ainda tem o projeto desse Painel de visualização das imagens? se puder compartilhar. Grato

Contribuir com comentário

Entre na sua conta para comentar.