Hinweis
Das Modul ist ab Version 5  nicht mehr enthalten. Heutzutage ist in der Regel bei jeder Webcam eine fertige Lösung beigefügt.

Einleitung
Das Modul Webcam erlaubt den Betrieb einer Webcam. Dazu wird das ScTool mitgeliefert. Dieses muss auf dem Windows-PC installiert werden, an dem die WebCam angeschlossen ist. Die Kamera muss über einen Twain-Treiber verfügen.

Funktionsweise
ScTool ruft Bilder von der Twain-Schnitstelle ab und lädt sie per HTTP auf den Server. Dort übernimmt das Webcam-Modul die Verwaltung. Die Bilder werden in gfx/webcam abgelegt.
Es können auch Unterverzeichnisse angelegt werden um z.B. mehrere Kameras zu betreiben. Genauso ist es möglich, verschiedene Templates anzulegen, um eine unterschiedliche Bilderzahl anzuzeigen (z.B. eine Variante mit dem letzten Bild und eine mit den letzten drei).
Angezeigt werden die Bilder in einem IFrame, das sich selbst in vordefinierten Zeitabständen auffrischt.

Aufruf
Eingebunden wird das Modul mit {execmacro="webcam" param="..."}.
Als Parameter können angegeben werden:
template=
Es wird ein anderes Template benutzt. Bei template=abc wird z.B. webcam/abc/main statt webcam/main und webcam/abc/iframe statt webcam/iframe aufgerufen
dir=
Es wird das angegebene Unterverzeichnis benutzt. dir=aussen z.B. gibt an, dass die Bilder in gfx/webcam/aussen abgelegt werden.


Templates
webcam/main (oder webcam/.../main)
<iframe src="{prg}" width="{width}px" height="{height}px"></iframe>
Das main-Template bindet das IFrame ein. Die Breite und Höhe kann durch die Platzhalter {width} und {height} festgelegt werden. Darin wird dann automatisch die Größe des neuesten Bildes eingesetzt.
{prg} erzeugt automatisch die URL zum Programm, das die Bildseite ausgibt.

webcam/iframe (oder webcam/.../iframe)
<html>
<meta http-equiv="refresh" content="10;">
<body style="margin:0px;padding:0px;border-width:0px;" TOPMARGIN=0 marginwidth=0 LEFTMARGIN=0>
<img width="{width}" height="{height}" src="{picture}"><br>
<span style="width:{width};text-align:center;font: 10px verdana, arial, helvetica, sans-serif; text-decoration: none; color: #000000">{date} {time} Uhr</span>
</body>
</html>
Dies wird im IFrame angezeigt. Normalerweise ist das eine komplette HTML-Seite, die genau ein Bild zeigt und sich selbst regelmässig auffrischt.
Platzhalter:
{width} - Breite des Bildes in Pixeln
{height} - Höhe des Bildes in Pixeln
{picture} - URL des Bildes
{dynpicture} - Dynamische URL des Bildes. Diese wird so generiert, dass die Auslieferung über ein Script erfolgt. Dabei wird auch die Session mit angegeben und daran eine Rechteüberprüfung durchgeführt.
{date} - Datum des Bildes
{time} - Zeit des Bildes
Es können auch mehrere Bilder angezeigt werden. Die Platzhalter werden in dem Fall mit einer Nummer versehen. Die Zählung beginnt bei zwei, da die ersten Platzhalter ohne Nummer auskommen.
Beispiel mit drei Bildern:
<html>
<meta http-equiv="refresh" content="10;">
<body style="margin:0px;padding:0px;border-width:0px;" TOPMARGIN=0 marginwidth=0 LEFTMARGIN=0>
<img width="{width}" height="{height}" src="{picture}"><br>
<span style="width:{width};text-align:center;font: 10px verdana, arial, helvetica, sans-serif; text-decoration: none; color: #000000">{date} {time} Uhr</span><br>
<img width="{width2}" height="{height2}" src="{picture2}"><br>
<span style="width:{width2};text-align:center;font: 10px verdana, arial, helvetica, sans-serif; text-decoration: none; color: #000000">{date2} {time2} Uhr</span><br>
<img width="{width3}" height="{height3}" src="{picture3}"><br>
<span style="width:{width3};text-align:center;font: 10px verdana, arial, helvetica, sans-serif; text-decoration: none; color: #000000">{date3} {time3} Uhr</span><br>
</body>
</html>


webcam.ini
Beispiel:
[main]
pw=abc
store=9
extra_width=0
extra_height=12

.. Verzeichnis
[aussen]
store=3
right=Mitarbeiter
pw=xyz

.. Template
[aussencam]
extra_width=3
extra_height=36
Unter main werden die Haupteinstellungen vorgenommen. Für abweichende Unterverzeichnisse oder Templates werden die Werte in eigenen Abschnitten eingetragen.
Für Verzeichnisse:
store gibt an, wie viele Bilder aufgehoben werden
right gibt an, welches Recht benötigt wird, um die Bilder anzuzeigen. Achtung: Das funktioniert nur, wenn dynamische oder direkte Ausgabe der Bilder verwendet wird.
pw gibt ein Kennwort an, das muss auch beim Hochladen der Bilder angegeben werden muss.
Für Templates:
extra_width gibt an, wie viele Pixel zur Breite des Bildes addiert werden.
extra_height gibt an, wie viele Pixel zur Höhe des Bildes addiert werden.
Im obigen Beispiel-Template wird unter dem Bild Datum und Uhrzeit angezeigt. Dazu werden in der Höhe 12 Pixel zusätzliche benötigt. Gibt man also extra_height=12 an, wird das IFrame entsprechend größer geöffnet.
Verwendet man unterschiedliche Templates, kann der Wert für jedes getrennt angegeben werden.


Direkter Aufruf
Es ist möglich custprg/webcam.prg direkt aufzurufen um ein Bild anzuzeigen. Dabei kann angegeben werden welches Bild und welches Unterverzeichnis verwendet wird.
Damit ist es möglich, eine eigene Logik für die Anzeige zu entwerfen, z.B. auf der Basis von JavaScript.
Parameter:
pic=n - n gibt an, welches der neuen Bilder ausgeliefert werden soll. Dabei steht 0 für das neueste Bild, 1 für das wweitneueste usw.
dir=abc - Gibt das Unterverzeichnis an, aus dem die Bilder ausgeliefert werden
Beispiele:
custprg/webcam.prg?pic=0 - Liefert das neueste Bild aus
custprg/webcam.prg?pic=0&dir=aussen - Liefert das neueste Bild im Unterverzeichnis aussen aus
custprg/webcam.prg?pic=3 - Liefert das viertneueste Bild aus
Hinweis:
Es kann auch eine Session mit ses=... angegeben werden. Damit ist dann eine Rechteüberprüfung möglich. Siehe dazu webcam.ini.


ScTool
ScTool nimmt die Bilder vom Twain-Treiber der Kamera (oder auch des Scanners) entgegen und lädt sie per HTTP auf den Server. Es besteht aus drei Dateien:
- sctool.exe
- sctooldll.dll
- settings.ini
In settings.ini werden die Einstellungen vorgenommen. Diese werden aber nur einmalig beim Start gelesen
#The application reads these settings only at the start
###################################
#HOTKEY AREA
HOTKEY
#F1 = 0, F2 = 1, ... F12 = 11
KEY:5
ALT:0
SHIFT:0
CTRL:0
###################################
#SERVER AREA
SERVER
#HOST:localhost
#SCRIPT:/scannertool/index.php
#SECURITY:0 - http
#SECURITY:1 - https
SECURITY:0
HOST:tdbweb.bstr20.tdb.de
SCRIPT:/projekt/cms/cms_tdb/custprg/webcam.prg
###################################
#PICTURE AREA
#EXT: file extention
#
#Possible values
#  bmp   ->  image/bmp
#  jpeg  ->  image/jpeg
#  gif   ->  image/gif
#  tiff  ->  image/tiff
#  png   ->  image/png
PICTURE
EXT:jpeg
#QUALITY ONLY FOR jpeg. Valid value is any integer from 0 to 100 incl.
QUALITY:70
###################################
#TIMER AREA
TIMER
ON:1
SLEEP:30
COUNT:0
###################################
#MISC AREA
MISC
#DLGSUCCESS:0 if 0 after successfull upload messagebox (total success) doesn't appear
DLGSUCCESS:0
#TMPFILEDELETE:1 if 1 after successfull upload temp file will be deleted
TMPFILEDELETE:1
#OPENHTA:1 if 1 gotten url will be opened by HTA program (required IE 5 and higher)
OPENHTA:0
#SHOWUI:1 if 1 menu point ShowUI will be checked
SHOWUI:0

Neben der automatischen Kamera, die alle x Sekunden ein Bild hoch lädt, kann auch eine Kamera betriebern werden, die nur nach Druck einer Funktionstaste Bilder einspielt.

Normalerweise sollten Sie nur diese Werte anpassen:
SERVER
SECURITY:0
HOST:www.wollen.de
SCRIPT:/custprg/webcam.prg?pw=abc
Hier geben Sie die Adresse zu Ihrem Server an. Es muss immer webcam.prg aufgerufen werden. Der Wert pw muss mit dem in webcam.ini übereinstimmen.

PICTURE
EXT:jpeg
QUALITY:70
Hier geben Sie das Format an, in dem die Grafiken angelegt werden sollen.

TIMER
ON:1
SLEEP:30
COUNT:0
Hier geben Sie an, wie oft ein Bild gemacht und hochgeladen werden soll. Count=0 bedeutet eine endlose Fortsetzung.

HOTKEY
KEY:5
ALT:0
SHIFT:0
CTRL:0
Wenn Sie statt eines automatischen Timers lieber einen Hotkey verwenden, so geben Sie das hier an.
eforia® web manager Dokumentation
Stand V 3.01 / 20.12.2010
© Horst Klier
http://www.klier.net
Impressum