HowTo's Linux

Günstige Videoüberwachung mit Zoneminder

ZoneMinder

Was ist ZoneMinder? ZoneMinder ist eine Software zur Kamera Steuerung bzw Überwachung.
Mit ZoneMinder lassen sich Aufnahmen von diversen Videoquellen erstellen.

Installations Vorbereitung

Es wurde ein Ubuntu 16.04 als System installiert ohne Desktop, als Server.
Mit Tasksel wurde die LAMP Umgebung installiert.
Als erstes wurde die MySQL.cnf angepasst:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

In [mysqld] wurde der Eintrag

sql_mode = NO_ENGINE_SUBSTITUTION

hinzugefügt.
Mit

mysql_secure_installation

wurde die MySQL Installation gesichert und Zugriff von Ausserhalb unterbunden.

Installation ZoneMinder

apt-get install zoneminder php-gd

ZoneMinder mit den entsprechenden PHP Grafikbibliotheken installieren
Die SQL Datei muss angepasst werden da dort ein Passwort für den admin mit angelegt wird , dieses aber nicht der Secure Richtlinie entspricht.

nano /usr/share/zoneminder/db/zm_create.sql

Die Datenbank für ZoneMinder anlegen

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'meinsuperpasswort';

Da das Passwort auch nicht default ist wie von ZoneMinder erwartet muss auch die zm.cfg angepasst werden

nano /etc/zm/zm.cfg
mysqladmin -uroot -p reload

Die Recht müssen auf die zm.cfg gesetzt werden

chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf

Den „Benutzer“ www-data in die Gruppe video aufnehmen

adduser www-data video

Es müssen noch einige Apache Module aktiviert werden

a2enmod cgi
a2enconf zoneminder
a2enmod rewrite

Die Rechte auf den Zoneminder Ordner anpassen

chown -R www-data:www-data /usr/share/zoneminder/

API Rechte ändern für Zoneminder

nano /etc/apache2/apache2.conf
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

AllowOverride ist default auf none

Dienst aktivieren

systemctl enable zoneminder
service zoneminder start

Die Zeitzone muss in der php.ini konfiguriert werden:

nano /etc/php/7.0/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Berlin

Abschließend noch den apache neu startet

service apache2 reload

Webansicht

Damit man per Web auch wirklich was sieht muss noch auf dem Server ein Plugin installiert werden

cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz
cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder

http://ip/zm
Nun kann man die Kameras hinzufügen.

Kameras hinzufügen

Unsere Kameras arbeiten per rtsp Stream \
Unter Allgemein muss dazu ffmpeg ausgewählt werden. \
Bei Funktion kann man diverse Einstellungen auswählen , im Bild ist Monitor gewählt was eine reine Live Ansicht bietet.

rtsp://192.168.100.240:554/11/?tcp
rtsp://192.168.100.241:554/11/?tcp

cam1
cam2
Um einen Zeitplan zu erstellen wann nur Monitor oder Aufnahme getätigt werden soll, muss man die Funktion aktivieren bzw deaktivieren für den jeweiligen Betriebszustand.
Ich habe dazu Monitor auf an und Mocord auf disabled für den Status day und umgekehrt für night.
Diesen Zustand kann man so speichern wenn man auf „In Betrieb“ klickt und dort den ist Zustand unter einem neuen Namen speichert.
cam3

Da für beide Zustände nun Vorlagen vorhanden sind kann man diese über einen cronjob steuern.

crontab -e
0 7 * * 1-5 /usr/bin/zmpkg.pl day
0 18 * * 1-5 /usr/bin/zmpkg.pl night
* * * * 0,6 /usr/bin/zmpkg.pl night

Diese Einstellung sagt aus das die Kameras ab Minute 0 Stunde 7 Tag 1-5(Mo-Fr) den Zustand day haben und das ganze ab 18 Uhr auf night geändert wird. Für Samstag und Sonntag ist die ganze Zeit die Aufnahme aktiv.

2 thoughts on “Günstige Videoüberwachung mit Zoneminder

  1. Hallo Stefan,

    danke für die gute Anleitung. Habe mich gerade einige Zeit durch die Installation von Zoneminder gequält, die ja eigentlich auf der Seite von ZM gut beschrieben ist. Leider fehlte dort der Hinweis, daß man unter „Optionen“, „Pfade“, „PATH_ZMS“ von „/cgi-bin/nph-zms“ auf „/zm/cgi-bin/nph-zms“ ändern muß. ( Ubuntu 16.4, ZM 1.30.0 ). Ich hatte die ganze Zeit kein Bild ohne diese Änderung.

    Dein Hinweis mit dem Cron-Job hat mir eine ganze Menge Zeit gespart. Habe schon gesucht, wo man die Aufnahmezeiten eintragen kann. Leider sind deutsche Tutorials noch recht rar.

    Es ist immer wieder erstaunlich, welche Perlen an Software frei zur Verfügung gestellt werden. Gerade bei Videoüberwachung ist für den Privatmensch der Preis bei kommerzieller Software ein Ausschlußkriterium. Umso besser, daß ZM hier kostenlos mit noch dazu unbegrenzter Anzahl an Webcams verfügbar ist. Danke nochmal.

    1. Ah jetzt versteh ich das mit dem Pfad 🙂
      Ich hatte die Anleitung geschrieben für zm 1.29 , mit dem Update auf 1.30 haben die also nochmal etwas geändert 🙂

Comments are closed.