Crea sito

Zoneminder e IP Camera

Dopo l’ acquisto di una IP Camera TSIP601W della Vtek (simile alla marca Apexis) ho voluto provare a configurarla con Zoneminder, ho dato uno sguardo in giro per internet e seguendo questo articolo sembra proprio che le ip cam siano facilmente raggirabili. Ne esistono anche di pubbliche fruibili per vedere la situazione in autostrade o in posti che si vogliono visitare.

Una premessa, zoneminder seppur free gestisce un buon numero di telecamere anche webcam, sfortunatamente non tutte sono compatibili con questo programma, dando uno sguardo in internet sembra che la Click Smart 510 della logitech sia quella più problematica ( indovinate quale ho! ).

  • PRIMA PARTE installazione di zoneminder:
sudo su
apt-get -y install curl libcurl3 libcurl3-dev php5-curl
apt-get install -y zoneminder

Egli richiede alcuni pacchetti aggiuntivi:

I seguenti pacchetti saranno inoltre installati:
  ffmpeg libarchive-zip-perl libav-tools libavdevice53 libavfilter2
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libconvert-binhex-perl
  libdc1394-22 libdevice-serialport-perl libemail-date-format-perl
  libgnutls-openssl27 libjack-jackd2-0 libjs-mootools libmime-lite-perl
  libmime-tools-perl libmime-types-perl libnet-sftp-foreign-perl
  libphp-serialization-perl libpostproc52 libraw1394-11 libsamplerate0
  libsys-mmap-perl php5 unzip zip
Pacchetti suggeriti:
  jackd2 libraw1394-doc
I seguenti pacchetti NUOVI saranno installati:
  ffmpeg libarchive-zip-perl libav-tools libavdevice53 libavfilter2
  libcdio-cdda1 libcdio-paranoia1 libcdio13 libconvert-binhex-perl
  libdc1394-22 libdevice-serialport-perl libemail-date-format-perl
  libgnutls-openssl27 libjack-jackd2-0 libjs-mootools libmime-lite-perl
  libmime-tools-perl libmime-types-perl libnet-sftp-foreign-perl
  libphp-serialization-perl libpostproc52 libraw1394-11 libsamplerate0
  libsys-mmap-perl php5 unzip zip zoneminder
0 aggiornati, 28 installati, 0 da rimuovere e 0 non aggiornati.
à necessario scaricare 5596 kB di archivi.
Dopo quest'operazione, verranno occupati 16,0 MB di spazio su disco.

Accettate tutte le condizioni e proseguite!

in aggiunta si installi il pacchettox264

apt-get install -y x264

 

  • SECONDA PARTE configurazione di zoneminder:
nano /etc/init.d/zoneminder

modifichiamo la voce zmfix -a come segue

zmfix -a sllep 15

salviamo e chiudiamo.

Eseguiamo un link di zoneminder in apache

ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

In alternativa per versioni successive ad apache 2.2

ln -s /etc/zm/apache.conf /etc/apache2/conf-enabled/zoneminder.conf

Riavviamo apache con:

/etc/init.d/apache2 force-reload

Aggiungiamo l’utente video a www-data

adduser www-data video

La cam che ho acquistato possiede la funzione pan e tilt, per poterne usufruire dal programma bisogna abilitare tele funzione, quindi si apre l’indirizzo di http di ZM digitando x.x.x.x/zm, in alto a destra c’è il link opzioni accediamoci, apriamo sistema ed inseriamo la spunta alle voci OPT_CONTROL e OPT_TRIGGERS.

Install Cambozola per la riproduzione video

cd /tmp && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz

rimpiazzare la versione 935 con quella scaricata.

cp cambozola-0.935/dist/cambozola.jar /usr/share/zoneminder

 

  • TERZA PARTE

Nella schermata principale di Zoneminder in alto a destra troviamo Opzioni/Log Clic in opzioni, nella nuova finestra a tendina apriamo la voce system da li se vogliamo autenticarci con user e pass mettiamo la spunta in OPT_USE_AUTH mentre in OPT_TRIGGERS e OPT_CONTROL se non presenti mettiamo la spunta per le opzioni di controllo della dome.

Nel menu image configuriamo come segue:

OPT_CAMBOZOLA mettiamo la spunta

OPT_FFMPEG        mettiamo la spunta

PATH_FFMPEG      /usr/bin/ffmpeg

rimpiazziamo nella voce FFMPEG_OUTPUT_OPTIONS da -r 25 -f mp4 -vcodec libx264 -vpre default -an -threads 0

I percorsi o patch

Per chi volesse memorizzare gli eventi in un hdd esterno o di dati ho notato un piccolo bug che si verifica quando andiamo a interagire con le zone, per aggirare questo ostacolo occorre eseguire dei link. Per prima cosa cancelliamo tutte le directory contenute in /var/cache/zoneminder ricreiamo le stesse nell’hdd di destinazione (esempio /mnt/data/zoneminder/) ed eseguiamo:

sudo rm -r /var/cache/zoneminder/events
sudo rm -r /var/cache/zoneminder/images
sudo rm -r /var/cache/zoneminder/temp
sudo ln -s /mnt/data/zoneminder/sounds /var/cache/zoneminder/events
sudo ln -s /mnt/data/zoneminder/sounds /var/cache/zoneminder/sounds
sudo ln -s /mnt/data/zoneminder/images /var/cache/zoneminder/images
sudo ln -s /mnt/data/zoneminder/temp /var/cache/zoneminder/temp
chmod 0777 /var/cache/zoneminder/images
chmod 0777 /var/cache/zoneminder/temp
chmod 0777 /var/cache/zoneminder/sound
chmod 0777 /var/cache/zoneminder/events

In alternativa si possono modificare i link esistenti in /usr/share/zoneminder non dimencicate di eseguire service zoneminder restart

Nel menu Patch o percorsi troveremo una voce: PATH_ZMS prestate bene attenzione a questa voce perchè in molti casi va modificata, di solito è /cgi-bin/nph-zms, se notate che non appare nulla quando andrete a configurare la telecamera dovete modificarla come segue: /zm/cgi-bin/nph-zms questa voce serve per le telecamere remote, per abilitare lo streaming.

 

  • QUARTA PARTE configurazione delle opzioni:

Premessa: alcune pozioni mancanti di myql possono generare errori, come la mancata presenza dell’ informazione sql_mode=NO_ENGINE_SUBSTITUTION in /etc/mysql/mysql.conf.d/mysqld.cnf, se manca va aggiunto in caso contrario non sarà possible installare nuove telecamere (.SQL-ERR ‘SQLSTATE[HY000]: General error: 1366)

Supponiamo ora che la telecamera sia configurata correttamente con l’ ip statico e necessiti di user e pass per accedere:
Come da wiky (benedette) si aggiunge la Foscam clone dal modulo di ZM:

Protocollo Remoto: HTTP
Metodo Remoto: Simple
Nome dell'Host Remoto:<L'indirizzo ip>
Porta dell'Host Remoto: 80 
Percorso dell'Host Remoto: videostream.cgi 
Target Colorspace: 24 bit 
Larghezza img Catturata: 640 
Altezza img catturata: 480

Naturalmete <USERNAME> e <PASSWORD>  vanno sostituite con quelle della ipcam.

Per attivare  il controllo dirigersi in  controllo ed impostare queste voci:
Dispositivo di controllo user=<USERNAME>&pwd=<PASSWORD>
Indirizzo di controllo <L'indirizzo ip>
Posizione del ritorno Preset 1
Ritardo del ritorno 30

Mentre se usiamo una telecamera di marca come la D-Link DCS-932L la procedura sempre dal modulo di ZM:

Protocollo Remoto: HTTP
Metodo Remoto: Simple
Nome dell'Host Remoto: <USERNAME>:<PASSWORD>@<L'indirizzo ip>
Porta dell'Host Remoto: 80
Percorso dell'Host Remoto: /video.cgi
Target Colorspace: 24 bit
Larghezza img Catturata: 640
Altezza img catturata: 480

Cosi configurata al telecamera viene riconosciuta correttamente è comunque consigliato un riavvio del sistema.
Vi consiglio comunque di leggere questa guida o questa, per configurare il movimento pam/tilt della ipcam, guarda caso è stato l’unico script a funzionare correttamente. Le directory in cui posizionare i file .pm è /usr/share/perl5/ZoneMinder/Control questo è il mio file funzionante per la TSIP601W estraetelo in /usr/share/perl5/ZoneMinder/Control/, ed eseguite:

chmod 0777 /usr/share/perl5/ZoneMinder/Control/TSIP601W.pm
chmod +x /usr/share/perl5/ZoneMinder/Control/TSIP601W.pm

altrimenti non funziona.

A titolo informativo!

Per chi ne avesse bisogno o semplicemente ne ha cancellate per errore, quindi alcune funzioni della cam non sono accessibili come il modulo del comando pan tilt, o semplicemente vi da l’errore:

control response was status = undefined  /usr/local/bin/zmcontrol.pl

per ovviare a tale problema installare quanto segue.

perl -MCPAN -e shell
install Date::Manip
install LWP::UserAgent
install PHP::Serialization
install Device::SerialPort
install Archive::Zip
install MIME::Lite
install MIME::Entity
install Sys::Mmap
install X10::ActiveHome
install Bundle::CPAN
reload cpan
reload Manip
reload UserAgent
reload Serialization
reload SerialPort
reload Zip
reload Lite
reload Entity
reload Mmap
reload ActiveHome
exit

La mia cam  è fornita anche di uno switch interno per accendere o spegnere luci, funzione che al momento è fruibile solo dal controllo diretto della ipcam.

  • LOG DI SISTEMA

Se usate rsyslog e mysql per i log di sistema noterete che nel database sono presenti molte voci ripetute di zoneminder come errori, informazioni, capture, ecc.. Per evitare questo tipo di log piu inutili che altro bisonga andare in zoneminder opzioni logs e selezionare dai menu a tendina warn invece di info, cosi facendo si otterrano invede delle informazioni solo gli avvisi di emergenza,  al limite none per evitarli tutti, scelta non consigliata.

Per il momento è tutto!

Leave a Reply

*

Stonygate, small solution storage server, realizzazione e gestione server SoHo, ubuntu server, windows system, videosorveglianza, software ed utility, giochi.