Plan: Ihr wollt auf eurer WordPress Seite das Bild einer Webcam / Überwachungskamera anzeigen. Die meisten IP Kameras aber sind Überwachungskameras und bieten nicht immer die passende Möglichkeit das zu unterstützen.
Um das Bild in einer WordPress Seite anzeigen zu lassen ist es in der Regel notwendig das die Bild Datei die die Kamera liefert immer den selben Namen hat. Die Überwachungskameras aber laden in der Regel Dateien hoch die im Dateinamen einen Zeitstempel mit der Uhrzeit haben.  Der Live Stream selber ist ebenfalls nicht gebräuchlich da hier schnell mehrere Besucher die Bandbreite voll ausnutzen würden und das Live Bild unbrauchbar wird. Man muss also mit einem Script nachhelfen.

In unserem Anwendungsfall hatten wir eine AVTech IP Kamera vom Typ AVM457AP erhalten, diese kann Bilder sogar in FullHD liefern. Die Lösung sieht wie folgt aus:

FTP

Wir haben eine extra Subdomain eingerichtet um die Dateien der Kamera nicht in der WordPress Ordnerstruktur zu haben. Die Subdomain selber haben wir ebenfalls mit einem SSL Zertifikat gesichert da man keinen mixed Content mit http und https generieren sollte.
Die AVTech Kamera haben wir nun so konfiguriert das sie mit einem eigenen FTP Benutzer genau in diesen Order hochladen kann.

FTP Settings
FTP Settings

Bei den Snapshot Einstellungen haben wir unseren Bildern einen Dateinamen Prefix gegeben. Die Bilder werden als JPG hochgeladen und beginnen alle mit mfc_. Wir haben ein Intervall von 5 Minuten eingestellt.

Snapshot Settings
Snapshot Settings

Scripten

Nun da wir auf dem FTP die Bilder haben benötigen wir etwas via Script welches uns 2 Dinge erledigt.

  1. Das jeweils neuste Bild auf die Datei webcam.jpg kopieren
  2. Alte Dateien löschen.

Zusätzlich haben wir uns das so umgesetzt das unbenötigte Bilder nicht sofort gelöscht werden, sondern erst in einen Archiv Ordner gelegt und erst nach einem bestimmten Alter entfernt werden.

Das php Script gibt es hier als Download:

Das Script lassen wir ebenfalls alle 5 Minuten ausführen. Das kann via CRON erfolgen, ein Webcron Service wäre ebenfalls möglich solltet ihr keinen Zugriff auf das Server System haben. Ganz einfach geht es auch mit Webspace auf Plesk Basis als geplante Aufgabe.

Anzeigen

In WordPress an der gewünschten Stelle einfach das Bild über die URL einfügen!