CamHistory


Stand Oktober 2005

Mitunter möchte man als Kamerabetreiber seinen Besuchern die Möglichkeit geben, in einem Archiv zu stöbern. Da das manuelle Anlegen und Verwalten eines Archivs eigentlich nicht möglich oder zumindest sehr mühsam ist, wurde CamHistory geschrieben. CamHistory ist eine Sammlung von Perlscripts, die Kamerabilder in ein Archiv speichern und die Archivbilder anzeigen. Die Bilder können sowohl automatisch über einen Cronjob, als auch manuell durch einen Verweis auf einer Webseite archiviert werden. Die Seite zur Anzeige der Archivbilder wird beim Abruf automatisch generiert und ist somit stets aktuell.


Systemanforderung

Der Webserver auf dem CamHistory installiert wird muss folgende Anforderungen erfüllen:

Die Anpassung der Perlscripts ist relativ einfach. Trotzdem sind grundlegende Kenntnisse bezüglich Konfiguration, Zugriffsrechte und Cronjobs erforderlich, da hier nicht näher darauf eingegangen wird.


Dateien

CamHistory besteht aus den nachfolgenden Dateien:

camhist.cfg Die Konfigurationsdatei mit den Pfaden und Einstellungen für alle Scripte.
offline.gif Eine GIF-Datei, die angezeigt wird, wenn kein Kamerabild gespeichert werden konnte.
save.pl Wird durch einen Link auf einer Webseite aufgerufen und archiviert das aktuelle Kamerabild.
c_save.pl Wird zeitgesteuert über einen Cronjob aufgerufen und archiviert das Kamerabild automatisch.
view.pl Zeigt die Archivbilder in Listenform an.

Konfiguration

Bei allen Perlscripts, das sind die Dateien mit der Endung .pl, ist in der ersten Zeile der Pfad zum Perl-Interpreter anzupassen. Im Script c_save.pl muss der Serverpfad zur Konfigurationsdatei camhist.cfg eingetragen werden. Die Stelle, am Anfang der Datei unter dem Copyright-Hinweis, ist durch einen Kommentar gekennzeichnet. Alle anderen Einstellungen sind in der Konfigurationsdatei camhist.cfg wie folgt vorzunehmen.

$webcam_url Diese Variable enthält die URL zu einem Kamerabild im JPG-Format. Da das Bild über HTTP abgefragt wird, ist es egal ob die Bilddatei auf dem eigenen Server liegt oder von einem anderen Server stammt. So ist beispielsweise auch eine URL wie http://127.0.0.1:8888/video/frame zulässig, mit der ein Bild direkt vom Programm Webcam32 abgerufen wird.
$archive_path Diese Variable enthält den Serverpfad zum Archivverzeichnis, ohne Schrägstrich am Ende.
$archive_url Diese Variable enthält die URL zum Archivverzeichnis, ohne Schrägstrich am Ende.
$picX, $picY Diese beiden Variablen bestimmen die Breite und Höhe der Archivbilder bei der Anzeige. Im Normalfall sind hier die Originalabmessungen des Kamerabildes anzugeben.
$max_pic Diese Variable bestimmt die maximale Anzahl der archivierten Bilder. Bei Überschreitung wird das älteste Bild automatisch gelöscht. Eine Null deaktiviert diese Funktion.

Installation

Legen Sie auf Ihrem Webservers das in der Konfigurationsdatei angegebene Archivverzeichnis an. Setzen Sie die Rechte des Verzeichnisses auf 777 und kopieren Sie die Datei offline.gif im Binär-Modus in dieses Verzeichnis. Laden Sie alle Dateien mit den Endungen .pl und .cfg im ASCII-Modus in das CGI-Verzeichnis Ihres Webservers hoch. Setzen Sie die Rechte aller Dateien mit der Endung .pl auf 755.


Funktion

Die Datei save.pl

Das Script sollte auf einer Webseite mit nachstehendem Code aufgerufen werden. Die Adresse zum Script und die Fenstergröße sind anzupassen.

<a href="#" onClick="window.open('http://www.domain.de/cgi-bin/save.pl','window1','width=360,height=360');return false;">Kamerabild speichern</a>

Ein Mausklick auf den Verweis öffnet ein neues Browserfenster. Das Script holt sich über eine HTTP-Anfrage das Kamerabild, speichert es ins Archivverzeichnis und zeigt eine Bestätigungsseite mit dem gespeicherten Bild an. Ist die Kamera bzw. das Kamerabild nicht erreichbar, wird die Datei offline.gif angezeigt. Diese Datei kann bzgl. Größe und Aussehen verändert werden. Dateiformat und Name müssen allerdings unverändert bleiben.

CamHistory save.pl

Der Name eines Archivbildes wird aus dem Datum der Datei, oder wenn dieses nicht verfügbar ist, aus dem aktuellen Serverdatum gebildet (Format: yyyymmdd_hhmmss.jpg). Die Namen aller JPG-Dateien im Archivverzeichnis müssen diesem Format entsprechen!

Die Datei c_save.pl

Das Script muss über einen Cronjob aufgerufen werden, holt sich danach über eine HTTP-Anfrage das Kamerabild und speichert es ins Archivverzeichnis. Cronjobs ermöglichen den zeitgesteuerten Start von Programmen und sind Bestandteil eines jeden besseren Webspace-Angebots. So kann beispielsweise jede Stunde ein Bild automatisch archiviert werden. Das Script wird nur benötigt, wenn eine automatische Archivierung über Cronjobs erfolgen soll.

Die Datei view.pl

Das Script sollte auf einer Webseite mit nachstehendem Code aufgerufen werden. Die Adresse zum Script und die Fenstergröße sind anzupassen.

<a href="#" onClick="window.open('http://www.domain.de/cgi-bin/view.pl','window2','width=360,height=430');return false;">Archivbilder ansehen</a>

Ein Mausklick auf den Verweis öffnet ein neues Browserfenster Das Script liest die Dateien im Archivverzeichnis aus und listet alle darin enthaltenen JPG-Bilder in einer Auswahlliste auf. Das aktuellste Bild wird sofort angezeigt.

CamHistory view.pl


Beispiel

Ein Klick auf den nachstehenden Verweis öffnet eine typische WebCam-Seite. Die Bildaktualisierung erfolgt durch JavaScript. Sofern die Kamera online ist, wird das Bild alle 60 Sekunden erneuert (siehe Zeitstempel).

Beispiel anzeigen

Der für CamHistory relevante Teil der Seite besteht nur aus den beiden Verweisen am Ende. Kamerabild archivieren startet das Script save.pl und speichert das aktuelle Kamerabild ins Archivverzeichnis. Archivbilder ansehen startet das Script view.pl und zeigt den Inhalt des Archives an. Ausserdem wird um 12 Uhr ein Bild automatisch durch das Script c_save.pl gesichert.


Nutzungsbedingungen und Download

CamHistory darf kostenlos verwendet und an die eigenen Bedürfnisse angepasst werden. Nicht gestattet ist die Entfernung des Copyright-Hinweises in den Dateien und die Veröffentlichung unter eigenem Namen.

DIE FEHLERFREIHEIT DIESER SOFTWARE KANN NICHT GARANTIERT WERDEN. JEGLICHE HAFTUNG FÜR DIREKTE UND INDIREKTE SCHÄDEN WIRD HIERMIT AUSDRÜCKLICH AUSGESCHLOSSEN. DIE VERWENDUNG ERFOLGT AUF EIGENE GEFAHR.

Download: camhist.zip


Versionsinformation

Version 1.10

Version 1.01

Version 1.00

Version 0.90


Kommentare | Besucher seit Januar 1998: 8845507

Valid XHTML 1.0! © 1998-2014 by Harald Gabler