Kerberos.io Videoüberwachung und INSTAR Kameras

Installation mit Docker

Keberos bietet eine Reihe von Möglichkeiten die Software zu installieren. Der empfohlene Weg ist über eine Rapsberry Pi image. Dieses muß nur auf eine SD Karte "gebrannt" und der Pi danach gebootet werden. Für weitere Informationen schauen Sie bitte in die Kerberos Online Dokumentation. Ich werde hier jetzt den Weg über Docker gehen. Docker muß dafür auf dem System installiert sein. Dieser Weg kann danach dann sowhol unter LINUX als auch Windows und macOS genutzt werden.

Download

Beginnen Sie damit das entsprechende Image aus dem Docker Hub zu ziehen:

docker pull kerberos/kerberos

Jetzt können Sie für jede Kamera einen Instanz (Container) dieses Images hochfahren:

docker run --name garage -p 8080:80 -p 8889:8889 -d kerberos/kerberos

Ausführen der Software

Dies würde einen Container Starten mit dem Namen garage (als Beispiel - benennnen Sie den Container so, dass Sie ihn einer Kamera zuordnen können). Das die Weboberfläche auf dem Port 8080 bereitstellt und den Videostream der Kamera auf dem Port 8889. Wenn Sie weitere Kameras hinzufügen möchten, starten Sie dafür jeweils einen eigenen Container mit einem eindeutigen Port:

docker run --name haustuer -p 8081:80 -p 8890:8889 -d kerberos/kerberos
docker run --name garten -p 8082:80 -p 8891:8889 -d kerberos/kerberos

Die Weboberfläche dieser Kameras finden Sie dann unter dem Port 8081 und 8082 und den Videostream unter 8090 und 8091. D.h. wenn Sie auf dem gleichen Rechner, auf dem Sie die Container gestartet haben, Ihren Webbrowser öffnen, können Sie über die folgenden URLs auf die Kameras zugreifen:

http://localhost:8080
http://localhost:8081
http://localhost:8082

Von einem anderen Rechner im gleichen Netzwerk aus, ersetzen Sie localhost einfach durch die lokale IP des Computers auf dem der Docker Container läuft.

Beachten Sie hierbei das Docker alle Daten, die die Software innerhalb des Containers erzeugt, löschen wird sobald Sie den Container entfernen. Wenn Sie die Daten beibehalten möchten, müssen Sie ein sog. Volumen in den Container "mounten". Damit wird der Befehl zum Ausführen des Containers UNTER LINUX für die Garagen Kamera zu:

docker run --name garage \
-p 8080:80 -p 8889:8889 \
-v /opt/kerberos/config:/etc/opt/kerberos/config \
-v /opt/kerberos/capture:/etc/opt/kerberosio/capture \
-v /opt/kerberos/logs:/etc/opt/kerberosio/logs \
-v /opt/kerberos/webconfig:/var/www/web/config \
-d kerberos/kerberos

Sie sehen das dem Container hier 4 Volumen zugeordnet werden, die auf unserem Linux PC alle unter /opt/kerberos zu finden sind. Dieser Ordner muß von uns angelegt werden und der Docker Nutzer muß darauf Schreibrechte haben, damit das ganze funktioniert!

mkdir -p /opt/kerberos/{config,capture,logs,webconfig}

Konfiguration der Kamera

Wir haben jetzt einen Container gestartet der über den Port 8080 mit dem Webbrowser erreichbar ist. Da ich den Container auf dem Server mit der IP 192.168.2.111 gestartet habe, komme ich also über die folgende Adresse auf die Kerberos Weboberfläche:

http://192.168.2.111:8080

Kerberos & INSTAR IP Cameras

Nach dem Anlegen eines Benutzers, kann ich mich mit diesem anmelden und auf dem Konfiguration Tab mit dem Anlegen der Kamera beginnen:

Kerberos & INSTAR IP Cameras

Klicken Sie hier auf IP Kamera, um die Zugangsdaten für Ihre INSTAR IP Kamera zu hinterlegen:

Kerberos & INSTAR IP Cameras

Hier benötigen Sie den RTSP Videostream Ihrer Kamera. Ich nehme an dieser Stelle den /11 Stream, der mir die volle Auflösung der Kamera bereitstellt - bei Full HD Kameras ist dies der 1920x1080 Stream. Bestätigen Sie die Eingaben und vergessen Sie nicht im Konfiguration Menü unten links auf Aktualisieren zu drücken um die Eingaben zu speichern (nicht unten rechts - mit diesem Aktualisieren Button wird nur der Snapshot darüber aktualisiert. Da Sie die Daten aber zu diesem Zeipunkt noch nicht gespeichert haben, wird Ihnen dort nicht angezeigt werden).

Es wird einen Moment dauern bis Kerberos Software anfängt den Stream bereitzustellen - wechseln Sie auf den Dashboard Tab und aktualisieren Sie den Tab bis die Kamera angezeigt wird:

Kerberos & INSTAR IP Cameras

Bewegungserkennug

Zurück auf dem Konfiguration Tab können wir jetzt unter Überwachung auf den Bewegung Button drücken, um die Alarmaktionen festzulegen:

Kerberos & INSTAR IP Cameras

Zuerst können Sie hier eine Fläche ins Bild zeichnen in der die Bewegungserkennung arbeiten soll:

Kerberos & INSTAR IP Cameras

Stellen Sie hier die Empfindlichkeit und den Schwellwert der Erkennung ein:

Kerberos & INSTAR IP Cameras

Im nächsten Schritt können Sie noch angeben ob Sie nur Snapshots oder auch Alarmvideos haben möchten, ob die Software einen Zeitstempel ins Bild "brennen" und wie lang die Kamera bei einem Alarm aufnehmen soll:

Kerberos & INSTAR IP Cameras

Alarm Benachrichtigung

Kerberos bietet Ihnen 4 optionale Benachrichtigungen an:

  • HTTP Alarmserver (Webhook): Kontaktieren Sie eine HTTP Adresse in Ihrer Automatisierungssoftware, um dort weitere Aktionen auszulösen. Hier haben wir ein Beispiel, wie Sie den INSTAR HTTP Alarmserver Ihrer Kamera in Node-RED einbinden können - mit dem Kerberos Webhook würde dies genauso funktionieren.
  • Script: Führen Sie eine beliebiges Shell Script auf Ihrem Linux System aus (das Linux System ist hier das, das im Docker Container läuft!).
  • GPIO: Wenn Sie Kerberos auf einem Rapsberry Pi installiert haben, können Sie die Software direkt die Pins am Mainboard ansprechen lassen und damit ein Gerät bedienen, dass über diese Pins mit der Pi verbinden ist.
  • MQTT: Tragen Sie hier zum Beispiel den INSTAR MQTT Broker Ihrer Kamera ein. Wenn Sie Ihrer Kamera über MQTT in ein Automatisierungsystem eingebunden haben, können Sie somit ein weiteres MQTT Topic hinzufügen mit dem Sie auf Ereignisse reagieren können.

Beispiel: Alarm Benachrichtigung mittels MQTT:

Wenn Sie MQTT als Benachrichtigungsform auswählen, werden Sie das folgende Menü sehen:

Kerberos & INSTAR IP Cameras

Tragen Sie hier die Zugangsdaten für Ihren MQTT Broker ein. Am einfachsten kann man hier direkt den INSTAR MQTT Broker verwenden:

  • Server: IP Adresse Ihrer Kamera.
  • Port: Port des MQTT Brokers standardmäßig ist dies der TCP Port 1883 (oder 8883 wenn Sie die Verschlüsselung aktiviert haben).
  • Topic: Geben Sie hier frei ein MQTT Topic an, dass Kerberos im Alarmfall aktualisieren soll - zum Beispiel cameras/garage/kerberos (am besten keine Sonderzeichen verwenden).
  • Client ID: Kerberos muß sich mit einem Namen bei Ihrem MQTT Broker anmelden - legen Sie diesen hier frei fest (am besten keine Sonderzeichen verwenden).
  • Username: Hier muß der Benutzername rein, mit dem sich Kerberos bei Ihrem MQTT Broker anmelden kann.
  • Password: Hier muß der Benutzerkennwort rein, mit dem sich Kerberos bei Ihrem MQTT Broker anmelden kann.
  • Throttle: Um eine konstante Daueralarmierung zu verhinden (wenn sich z.B. für lange Zeit vor der Kamera bewegt) kann man hier einen Cool-down in Sekunden zwischen Auslösern festlegen.

Bestätigen Sie die Eingaben UND VERGESSEN SIE NICHT auch unten links im Konfiguration Tab auf Aktualisieren zu klicken, um die Eingaben zu speichern.

Bei jeder Alarmauslösung sehe ich jetzt auch ein Meldung von Kerberos im MQTT Explorer:

Kerberos & INSTAR IP Cameras

Mit den folgenden Informationen:

{
    "regionCoordinates": [
        537,
        472,
        575,
        583
    ],
    "numberOfChanges": 69,
    "pathToVideo": "1626245349_6-879541_Garage_537-472-575-583_69_215.mp4",
    "name": "Garage",
    "timestamp": "1626245349",
    "microseconds": "6-889345",
    "token": 215
}

Alarmaufzeichnungen

Die Videoaufzeichnungen Ihrer Kamera können Sie unter dem Dashboard Tab einsehen, nachdem Sie ein Datum im Eingabefel links oben ausgewählt haben:

Kerberos & INSTAR IP Cameras

Wenn Sie auf den System Tab wechseln können Sie die Alarmaufzeichnungen Ihrer Kamera herunterladen und vom Server löschen:

Kerberos & INSTAR IP Cameras

Videostreaming

Kerberos stellt den Videostream Ihrer Kamera im MJPEG Format bereit. Dies hat einen Vorteil, da Sie somit das Limit der maximal drei zeitgleichen Zugriffe auf die Kamera umgehen können. Wir können also Kerberos direkt auf die Kamera zugreifen lassen und dann einer großen Anzahl von Klienten den den Stream aus Kerberos zuspielen - die Kamera wird unabhängig von der Anzahl an Klienten immer nur einen Zugriff sehen.

Sie können dies zum Beispiel mit dem VLC Player testen. Öffnen Sie den VLC Player und wählen Sie aus einen Netzwerkstream abspielen zu wollen:

Kerberos & INSTAR IP Cameras

Der MJPEG Stream wird über HTTP ausgegeben und wir hatten oben für die Kamera garage den Streaming Port 8889 festgelegt. Wenn die IP Adresse des Servers (auf dem Kerberos läuft) 192.168.2.111 lautet und Sie als Kerberos Login admin/ instar gewählt haben, wäre die Streaming URL:

http://admin:instar@192.168.2.111:8889

Kerberos & INSTAR IP Cameras

Nachdem Sie auf Play gedrückt haben, wird der MJPEG Stream von Kerberos abgespielt werden:

Kerberos & INSTAR IP Cameras