Zoneminder: Substituindo um Unifi NVR

Neste artigo, descrevo como usei um servidor Debian com o Zoneminder para substituir um Unifi NVR.

[ Hits: 19.811 ]

Por: Paulo Dias em 15/07/2019 | Blog: http://naotenhosite.eu.nao.tenho


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.

Página anterior     Próxima página

Páginas do artigo
   1. Instalação
   2. Configurando as Câmeras
   3. Montando Tela para Monitoramento
   4. Compilação e Instalação no Android
Outros artigos deste autor

JavaScript - Programação orientada a objetos

Bitwise - Escovando os bits

Servidor FTP externo no Ubuntu 12.04 - Criação e configuração

AWK - Manipulação de arquivos de texto

MathML - Mathematical Markup Language

Leitura recomendada

VOIP - Interceptando tráfego de pacotes

AWS - VPN IPSEC com Libreswan

Configurando Placa Wireless Broadcom BCM43142 no SlackWare 14.2

Roubando bits - Receita para cálculo de sub-redes

Instalando Servidor RackTables para Documentação de Rede

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts