
zoneminder v1.38.4
ZoneMinder ist eine kostenlose Open-Source-Softwareanwendung für Videoüberwachung (Closed-circuit television), die für Linux entwickelt wurde und IP-, USB- und Analogkameras unterstützt.
ZoneMinder
Die gesamte Dokumentation für ZoneMinder ist jetzt online unter https://zoneminder.readthedocs.org
Überblick
ZoneMinder ist eine integrierte Sammlung von Anwendungen, die eine vollständige Überwachungslösung bietet. Sie ermöglicht die Erfassung, Analyse, Aufzeichnung und Überwachung beliebiger CCTV- oder Sicherheitskameras, die an einem Linux-basierten Rechner angeschlossen sind. ZoneMinder ist für Distributionen konzipiert, die die Video-for-Linux-Schnittstelle (V4L) unterstützen, und wurde mit Videokameras an BTTV-Karten, verschiedenen USB-Kameras sowie den meisten IP-Netzwerkkameras getestet.
Kontakt zum Entwicklungsteam
Bevor du ein Issue in unserem GitHub-Forum erstellst, lies bitte unsere Posting-Regeln: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules
Unser Dockerfile ist umgezogen
Bitte melde Probleme mit dem ZoneMinder-Dockerfile hier: https://github.com/ZoneMinder/zmdockerfiles
Installationsmethoden
Aus einem Paket-Repository installieren
Dies ist die empfohlene Methode, um ZoneMinder auf deinem System zu installieren. ZoneMinder-Pakete werden für die folgenden Distributionen gepflegt:
- Ubuntu über Isaac Connors PPA
- Debian aus deren Standard-Repository
- RHEL/CentOS und Klone über RPM Fusion
- Fedora über RPM Fusion
- OpenSuse über Drittanbieter-Repository
- Mageia aus deren Standard-Repository
- Arch über das AUR
- Gentoo über Portage Overlays
Falls für deine Distribution kein Repository mit ZoneMinder-Paketen verfügbar ist, wird empfohlen, ein eigenes Paket zu bauen, anstatt aus dem Quellcode zu kompilieren. Auch wenn sich jede Distribution in mancher Hinsicht von den anderen unterscheidet, sind sie oft ähnlich genug, um die Paketbau-Anleitungen einer anderen Distribution an die eigene anzupassen.
Das Erstellen aus dem Quellcode wird nicht empfohlen
In der Vergangenheit erforderte die Installation von ZoneMinder auf deinem System das Erstellen aus dem Quellcode mit den traditionellen Befehlen configure, make und make install. Damit ZoneMinder überhaupt gebaut werden konnte, mussten zuvor alle Abhängigkeiten ermittelt und installiert werden. Init- und Logrotate-Skripte mussten nach dem Build manuell an die richtige Stelle kopiert werden. Optionale Pakete wie jscalendar und Cambozola mussten manuell installiert werden. Deinstallationen konnten veraltete Dateien hinterlassen, die bei einem Upgrade Probleme verursachen konnten. Und wenn es um Upgrades geht: Sobald ein Upgrade ansteht, müssen all diese manuellen Schritte erneut durchgeführt werden.
Heutzutage gibt es bessere Methoden, die dir viel davon abnehmen. Das aktuelle Entwicklungsteam hat zusammen mit anderen Freiwilligen große Fortschritte dabei gemacht, die nötigen Ressourcen bereitzustellen, um das Erstellen aus dem Quellcode zu vermeiden.
Ein ZoneMinder-Paket bauen
ZoneMinder zu einem Paket zu bauen ist nicht schwerer als das Erstellen aus dem Quellcode. Wenn du ZoneMinder in der Vergangenheit bereits erfolgreich aus dem Quellcode gebaut hast, wirst du diese Schritte sogar möglicherweise einfacher finden.
Beim Bauen eines Pakets ist es am besten, dies in einer separaten, für Entwicklungszwecke vorgesehenen Umgebung zu tun. Das kann so einfach sein wie das Erstellen einer virtuellen Maschine, die Verwendung von Docker oder von mock. Es genügt ein einziges „Hoppla“, um diese Arbeit auf deinem Produktivserver zu bereuen.
Wenn du schließlich einen Entwicklungs-Snapshot aus dem Master-Branch bauen möchtest, wird empfohlen, dein Paket zuerst mit einer offiziellen ZoneMinder-Version zu bauen. So lässt sich leichter feststellen, ob eventuelle Probleme durch den Build-Prozess verursacht werden oder ob es sich um ein neues Problem im Master-Branch handelt.
Bitte besuche unsere ReadtheDocs-Seite für distrospezifische Anweisungen.
Paketbetreuer
Viele der Standardwerte der ZoneMinder-Konfigurationsvariablen lassen sich zur Build-Zeit weder über autotools noch über cmake konfigurieren. Ein neues Werkzeug namens zmeditconfigdata.sh wurde hinzugefügt, damit Paketbetreuer jede in ConfigData.pm gespeicherte Variable manipulieren können, ohne den Quellcode zu patchen.
Angenommen, ich habe ein neues ZoneMinder-Paket erstellt, das die JavaScript-Datei von cambozola enthält. Standardmäßig ist die cambozola-Unterstützung jedoch deaktiviert. Um das zu beheben, füge Folgendes zum Paketskript hinzu:
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
Beachte, dass zmeditconfigdata.sh aus dem Root-Build-Verzeichnis aufgerufen werden soll, bevor cmake oder configure ausgeführt wird.
Docker
Docker ist ein System, um Anwendungen in isolierten Containern auszuführen. ZoneMinder und der ZM-Webserver laufen mit dem in diesem Repository enthaltenen Dockerfile. Es ist jedoch noch Arbeit nötig, um sicherzustellen, dass die wichtigsten ZM-Funktionen einwandfrei funktionieren und dokumentiert sind.
Beitragsmodell und Entwicklung
- Der Quellcode wird auf GitHub gehostet
- Melde Probleme unter GitHub Issues
- Fragen/Funktionswünsche in Slack oder in den Foren
Pull Requests sind sehr willkommen! Wenn du einen Beitrag leisten möchtest, folge bitte den folgenden Schritten. Schritt 3 ist zwar optional, wird aber bevorzugt.
- Forke das Repository
- Erstelle ein Issue in unserem GitHub-Issue-Tracker. Befolge die Issue-Vorlage, um den von dir gefundenen Fehler oder das Sicherheitsproblem zu beschreiben. Bitte beachte, dass Funktionswünsche oder Fragen in unserem Benutzerforum oder Slack-Kanal gepostet werden sollten.
- Erstelle deinen Feature-Branch (
git checkout -b 456-my-new-feature) - Commite deine Änderungen (
git commit -am 'Added some feature'). Es wird bevorzugt, dass du 'früh und oft committest', anstatt alle Änderungen in einem einzigen Commit zu bündeln. - Schiebe deinen Branch auf deinen Fork auf GitHub (
git push origin 456-my-new-feature) - Erstelle einen neuen Pull Request
- Das Team wird deine Änderungen dann prüfen, diskutieren und hoffentlich mergen.

