Bom, vamos falar sobre a instalação do Zoneminder e algumas dicas e truques para o mesmo funcionar adequadamente.
Como tudo começou:
Meu chefe me passou a url do programa dizendo que seria uma boa solução para o controle das imagens geradas pelas câmeras internas. Pediu pra eu testar.
Equipamentos:
Placa de Captura com chipset bttv. Como já havia visto uma funcionando, indiquei a Pico2000. Que pode ser encontrada em média de 50 reais no mercado livre (http://www.mercadolivre.com.br).
Computador com slot pci, e os cabos para ligar as câmeras a placa.
E o sistema operacional usado será o Linux, distribuição Ubuntu.
A escolha da distribuição pesou devido ao fato de que todos os desktops da empresa rodarem Ubuntu, então pra não ficar inventando moda resolvi usar a mesma coisa para padronizar. E provavelmente o servidor que vamos colocar em produção vai ser Debian, não vai haver grandes mudanças na hora da instalação para produção.
Vamos ao que interessa.
ara fazer a verificação se o sistema detectou a placa, faça o seguinte procedimento:
# dmesg | grep bttv
Deve aparecer a seguinte saída:
Com isso já guarde as seguintes informações:
[ 82.180611] bttv0: registered device video0
[ 82.180792] bttv0: registered device vbi0
Instalações
Agora vamos a parte boa, instalar o que é necessário.
Vamos fazer a instalação por partes:
1. Apache, MySQL e PHP:
# apt-get update
# apt-get install apache2 mysql-server mysql-client php5-mysql php5-gd php5-cgi php-pear libgd-tools php5-dev libmysql++-dev libmysqlclient15-dev
Depois dessa instalação, já vai estar com seu servidor web pronto para o serviço.
2. Codecs de vídeo:
# apt-get update
# apt-get install libavcodec-dev libavcodec1d libavformat-dev libavformat1d libavutil-dev libavutil1d ffmpeg libavifile-0.7c2
3. As demais dependências:
# apt-get update
# apt-get install g++ make netpbm libssl-dev libjpeg62-dev libmime-perl libwww-perl libarchive-tar-perl libdate-manip-perl libarchive-zip-perl libmime-lite-perl libdbi-perl libdbd-mysql-perl libpcre3-dev libgnutls-dev
Feito isso seu sistema já vai estar pronto para receber o Zoneminder, após claro a pequena compilação dele.
Instalação do Zoneminder
Tendo instalado todos os programas anteriores, essa parte é mais simples pois provavelmente não vai dar erro agora.
Baixe o source pelo site:
# wget -c http://www2.zoneminder.com/downloads/ZoneMinder-1.23.2.tar.gz
# tar czf ZoneMinder-1.23.2.tar.gz
# cd ZoneMinder-1.23.2
Agora vem o pulo do gato, se você fizer sem alterar nada vai dar erro no make, se quiser testar, fique a vontade, se quiser fazer o trem funcionar de primeira edite o arquivo src/zm_mpeg.cpp e na linha 280 altere de:
#if ZM_FFMPEG_SVN
Para:
Isso mesmo, só adicionar um “!” ali depois do if.
Agora proceda com a instalação:
# ./configure –with-webdir=/var/www/zm –with-cgidir=/usr/lib/cgi-bin –with-webuser=www-data –with-webgroup=www-data
# make
# make install
Agora vamos usar o script para criar o banco de dados:
# mysql mysql < db/zm_create.sql -p
E agora logar no mysql para dar permissão ao usuário criado:
# mysql -u root -p
mysql> grant select,insert,update,delete on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;
mysql> flush privileges;
Prontinho, prontinho, prontinho…
Script de inicialização
Crie um arquivo chamado zoneminder e coloque dentro dele as seguintes linhas para a criação de um script de inicialização “automágica”:
# description: Control ZoneMinder as a Service
# chkconfig: 2345 35 15
# Source function library.
#. /etc/rc.d/init.d/functions
prog=ZoneMinder
ZM_PATH_BIN=”/usr/bin”
command=`which zmpkg.pl`
start() {
echo -n “Starting $prog: ”
$command start
RETVAL=$?
[ $RETVAL = 0 ] && echo success
[ $RETVAL != 0 ] && echo failure
echo
[ $RETVAL = 0 ] && touch /var/lock/zm
return $RETVAL
}
stop() {
echo -n $”Stopping $prog: ”
#
# Why is this status check being done?
# as $command stop returns 1 if zoneminder
# is stopped, which will result in
# this returning 1, which will stuff
# dpkg when it tries to stop zoneminder before
# uninstalling . . .
#
result=`$command status`
if [ ! “$result” = “running” ]; then
echo “Zoneminder already stopped”
echo
RETVAL=0
else
$command stop
RETVAL=$?
[ $RETVAL = 0 ] && echo success
[ $RETVAL != 0 ] && echo failure
echo
[ $RETVAL = 0 ] && rm -f /var/lock/zm
fi
}
status() {
result=`$command status`
if [ “$result” = “running” ]; then
echo “ZoneMinder is running”
RETVAL=0
else
echo “ZoneMinder is stopped”
RETVAL=1
fi
}
case “$1” in
‘start’)
start
;;
‘stop’)
stop
;;
‘restart’ | ‘force-reload’)
stop
start
;;
‘status’)
status
;;
*)
echo “Usage: $0 { start | stop | restart | status }”
RETVAL=1
;;
esac
exit $RETVAL
De acordo com sua distribuição, coloque o script no local adequado, dê permissão 775 para ele ser executado e reinicie sua máquina para fazer o teste.
Se for no Ubuntu também:
– copie para o diretório /etc/init.d
– faça os links simbólicos:
# ln -s /etc/init.d/zoneminder /etc/rc0.d/K20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc1.d/K20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc2.d/S20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc3.d/S20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc4.d/S20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc5.d/S20zoneminder
# ln -s /etc/init.d/zoneminder /etc/rc6.d/K20zoneminder
– pronto, ele irá iniciar sozinho.
Depois de feito todo o procedimento anterior, verifique se o apache está rodando, se sim acesse:
http://localhost/zm
Agora o resto é simples, para as configurações iniciais só clicar em Opções (ou Options se ele não pegar o idioma pt-br). Como na imagem abaixo:
Na primeira tela você pode escolher a linguagem da forma que achar melhor:
Na aba caminhos você edita onde deseja salvar os arquivos capturados:
Na aba imagens você escolhe como deseja que seja feito o streaming de vídeo e também o caminho do ffmpeg.
O resto das opções são bem intuitivas, basta ler. Isso vou deixar com você.
Dicas e conclusão
Dicas (Onde eu tropecei):
- Verificar o padrão da câmera se é PALM ou NTSC.
- Colocar pra gravar os dados em outra partição separada.
- Ler os manuais
Conclusões
Esse artigo foi escrito com a finalidade de dar uma luz pra quem esta ralando nessa área e não quer mexer com esses GEOVISION. Então está aí pra mostrar o caminho, o resto depende de cada um. Qualquer dúvida, estamos aqui pra saná-la.
fonte: http://www.vivaolinux.com.br/artigo/Ubuntu-+-Zoneminder-=-Solucao-Livre-para-CFTV/?pagina=1
Ola!
Gostei muito do tutorial.
Estou com um problema quando dou o seguinte comando
# tar czf ZoneMinder-1.23.2.tar.gz
aparece isso:
root@alex-VirtualBox:/home# tar czf ZoneMinder-1.24.2.tar.gz
tar: Recusando a criar um arquivo-tar vazio
se puder me ajudar ficarei muito grato.
Obrigado pela atencao.
tar -zxvf ZoneMinder-1.24.2.tar.gz
ola! Otimo post.. gostaria de de uma ajuda.. eu configurei o zoneminder no meu pc e esta funcionando corretamente, eu so gostaria de saber como faço para acessá-lo remotamente.. as configuraçoes que eu tenho que ter no apache2…utilizo um roteador… meu ip é dinamico pela embratel.. obrigado.
Ola, gostei do tutorial, aqui funcionou perfeitamente, porem gostaria de saber, como faço pra adicionar as câmeras ip, sendo que tenho 3 câmeras ip da foscam
grato
Joelson M. Silva