Konfigurationsdateien
Auf dieser Seite geht es um die Konfiguration der Foto-Webcam-Skripte
(siehe auch Software).
Unter Apache-Config stehen auch noch ein paar Tipps zur Konfiguration des Webservers.
Es gibt zwei Orte für Konfigurationsdateien:
- webcam/include/config.php - allgemeine Konfiguration, gültig für alle Kameras
- webcam/<webcam-name>/config.php - Kamera-spezifische Konfiguration
Die Dateien werden in dieser Reihenfolge geladen, d.h. ein Kamera-spezifischer Konfig-Parameter sticht einen Allgemeinen. Gemeinsame Dinge sollten also in der allgemeinen Konfig eingetragen werden, und nur echte Unterschiede in die Kamera-spezifische Konfig.
Viele der Parameter können weggelassen werden und werden dann entweder
durch die globale Konfiguration, oder durch sinnvolle Defaults vorbelegt.
Generell ist es empfehlenswert, Parameter aus der Beispielkonfig nur anzupassen, aber
nicht zu löschen.
Im Folgenden werden die Parameter mit einem jeweils sinnvollen Beispiel beschrieben.
$webcam['actMinute']= 2;
Normalerweise werden alle 10min Bilder gemacht. Wird eine Anzeige im Browser stehen gelassen, aktualisiert sich das Bild automatisch. Mit diesem Parameter kann die Minute festgelegt werden, zu der das Bild höchstwahrscheinlich am Server angekommen ist und deshalb eine Aktualisierung im Browser sinnvoll ist. Bei langsamen Datenverbindungen muss diese Zeit also nach hinten verlegt werden, damit das Bild da ist, wenn der Browser es aktualisieren will.
$webcam['aspectRatio']= 16/9;
Das Breiten/Höhenverhältnis der Bilder in den Vorschau-Ansichten. Das Verhältnis des Rohbildes kann durchaus anders sein. Bei DSLR-Kameras hat das Rohbild beispielsweise 3/2, trotzdem ist bei Landschaftsaufnahmen meist 16/9 schöner. Konfiguriert wird ein Faktor von Höhe zu Breite, auch Konstrukte wie 1280/960 sind möglich und ggf. sinnvoll.
$webcam['boxAdd']= "<br><a class='' href='http://www.edv-team.org/' ". "title='Dieser Standort wird vom EDV-Team Oberland zur Verfügung gestellt.". " Vielen Dank!'><img src='/webcam/herzogstand/infos/edv-team.png'></a>";
Der übergebene HTML-Text wird in einem Kasten außerhalb des Webcam-Hauptbildes angezeigt. Ob der Kasten überhaupt existiert, hängt von der Gestaltung der Seite ab.
$webcam['corrFunc']= function($exif, $rawName, $corrName) { $reg= "-region 1310x500+1150+2070 -noise 5"; return system("convert $reg -quality 95 $rawName $corrName") == 0; }
Definiert (sofern erforderlich) eine Prozedur, die das Bild vorbearbeitet, ehe es dann beschriftet und verkleinert wird. Häufigster Anwendungsfall ist das Ausblenden von nahen Gebäuden oder sonstigen Stellen, die Persönlichkeitsrechte verletzen könnten.
Es werden eine Struktur mit aufbereiteten EXIF-Daten sowie zwei Dateinamen übergeben. Die Datei in $corrName wird genau dann weitergenutzt, wenn die Funktion true zurückliefert.
$webcam['customRes']= array( array(520,225,350), array(540,360,0) );
Hiermit können neben den für alle Kameras verfügbaren Auflösungen auch zusätzliche Bildformate erzeugt werden. Die Parameter sind Höhe, Breite sowie der Offset vom oberen Bildrand. Damit lassen sich auch andere Höhen/Breitenverhältnisse als per Standard eingestellt erzeugen.
$webcam['errorMsg']= "Wegen einer technischen Störung ist die Kamera derzeit offline";
Hier kann eine Fehlermeldung eingegeben werden, die in einem roten Kasten unter dem Bild angezeigt wird, wenn die Kamera keine aktuellen Daten liefert. Die Schrift wird automatisch ausgeblendet, wenn das Bild wieder aktuell ist.
$webcam['fwLogo']= "foto-webcam.eu-logo.png";
Übergibt eine PNG-Datei für ein Logo, das rechts unten ins Bild eingeblendet wird. Per Default ist das der foto-webcam.eu Schriftzug.
$webcam['hdWidth']= 1200; $webcam['hdHeight']= 675;
Dimensionen des HD-Bildes. Dieses Bild wird angezeigt, wenn das Fenster groß genug ist. Normalerweise muss nur die Breite angegeben werden, die Höhe berechnet sich daraus automatisch (über den Parameter aspectRatio)
$webcam['hugeWidth']= 4272; $webcam['hugeHeight']= 2848;
Dimensionen des Bildes direkt aus der Kamera. Dieses Bild wird in einem großen Fenster angezeigt, wenn das Vorschaubild angeklickt wird. Hier sollte immer Höhe und Breite angegeben werden, aspectRatio ist hier i.d.R. nicht sinnvoll nutzbar.
$webcam['hugeIsRaw']= true;
Wird dieses Flag gesetzt, dann wird das Vollformat-Bild direkt aus der Kamera genutzt und nicht konvertiert oder beschriftet. Das ist sinnvoll, wenn das Bild bereits beschriftet ist oder qualitativ durch Recoding keinesfalls verschlechtert werden soll.
$webcam['keywords']= "webcam, herzogstand, fahrenbergkopf, walchensee";
Die Schlüsselwörter, die auf der Webseite der Kamera angezeigt werden sollen (für Suchmaschinen). Wird ggf. dem Seitenheader übergeben.
$webcam['latitude']= 12.79; $webcam['longitude']= 46.86;
Die geographischen Koordinaten der Kamera. Daraus wird derzeit vor allem Sonnenauf- und Untergang berechnet, was für die Belichtungsautomatik von Bedeutung ist.
$webcam['mainWidth']= 816; $webcam['mainHeight']= 459;
Dimensionen des Standard-Bildes, das per Default auf der Webseite angezeigt wird. Normalerweise muss nur die Breite angegeben werden, die Höhe berechnet sich daraus automatisch (über den Parameter aspectRatio).
$webcam['maxExposure']= 4; $webcam['maxIso']= 400;
Maximale Belichtungskorrektur und maximaler ISO-Wert, die zur Kamera gesendet werden. Das entspricht bei der EOS-Kamera den gphoto-Parametern exposurecompensation und iso. Wird am Kamerarechner über das Skript webcam_isoexp übergeben.
$webcam['maxGamma']= 1.3;
Maximaler Wert für eine nachträgliche Gammakorrektur von dunklen Bildern. 1.0 unterbindet jegliche Korrektur, sinnvolle Werte gehen bis etwa 2.0
$webcam['navHeader']= function() { print "<html><head>.......<body>"; } $webcam['navFooter']= function() { print "</body></html>"; }
Definiert Erzeugung von Header- und Footer für die Darstellung der Webseite. Hier muss ggf. eine Navigationsleiste, Stylesheets, Skripte etc eingebunden werden.
$webcam['overview']= Array( Array("uffing", null, null, "Uffing / Staffelsee - Blick nach Süden"), Array("marquartstein", null, null, "Marquartstein-Süd - Blick nach Osten") );
Definiert eine Liste von Webcam-Bildern für die Übersichtsseite „Alle Webcams“.
Pro Kamera wird folgendes übergeben:
- Verzeichnisname der Kamera
- Ggf. URL eines Thumbnail-Bildes (falls extern, sonst null)
- Ggf. URL der Webcam beim Daraufklicken (falls extern, sonst null)
- Titel der Kamera (wird als mouseover-Title verwendet)
$webcam['resolutions']= Array(150,180,240,320,400,640,720,816,1200,1600);
Verfügbare Auflösungen im „current“-Verzeichnis. Die jeweilige Breite wird auch als Dateinamen für das entstehende jpg-Bild benutzt. Die Höhe wird über aspectRatio berechnet.
$webcam['server']= "www.foto-webcam.eu";
Wird dieser Parameter angegeben, dann wird besagter Servername für die Site erzwungen, andern falls wird ggf. ein Redirect ausgegeben. Entfällt der Parameter, dann wird jeder beliebige Servername akzeptiert.
$webcam['title']= "Studentenstadt München-Freimann nach Norden"; $webcam['short']= "Freimann-Nord";
Bestimmt den Titel der Webseite und die Einblendung ins Bild, wenn das Bild beschriftet wird. Zusätzlich kann auch ein Kurztitel definiert werden, über dessen Verwendung entscheidet die Funktion navHeader.
$webcam['textShadow']= "black"; // Schrift ist weiß mit schwarzem Rand $webcam['textShadow']= "white"; // Schrift ist schwarz mit weißem Rand $webcam['textShadow']= "auto"; // Schriftfarbe automatisch, aber mit Rand
Dieser Parameter macht einen Schatten hinter die Schrift,
um sie vor unruhigen Hintergrund besser lesbar zu machen.
Per Default wird der Parameter weggelassen, die Schrift hat dann keinen Schatten und
stellt sich je nach Hintergrund automatisch auf schwarz oder weiß.
$webcam['thumbWidth']= 114; $webcam['thumbHeight']= 64;
Die Dimensionen der Thumbnail-Bilder. Entfällt die Höhe, wird sie über aspectRatio berechnet.
$webcam['topOffset']= 200;
Gibt einen Abstand in Pixel an, wieviel vom oberen Rand des Kamerabildes abgeschnitten wird, wenn das Bild ggf. auf 16/9-Format verkleinert wird.
$webcam['txtXoffset']= 10;
Ermöglicht, den Beschriftungstext weiter nach rechts zu rücken. Normalerweise beginnt der Text am linken Bildrand. Die Angabe ist in Prozent der Bildbreite und stimmt damit für alle Bildgrößen.
$webcam['uploadkey']= "asgfjhgqehjrgwqfchsdakfjs";
Ein String, der beim Upload der Bilder überprüft wird. Derselbe String muss auch am Kamerarechner eingestellt sein, nur dann wird der Upload akzeptiert. Damit wird erreicht, dass die Upload-Funktion nicht von Fremden missbraucht werden kann.
$webcam['uri']= "/webcam"
Der Basispfad für alle Webcams auf dem Server. Unterhalb dieses Pfades wird dann jeweils der Name der Webcam selbst angelegt. Es handelt sich um einen relativen Pfad unterhalb des DocumentRoot am Server.
$webcam['url']= "http://www.esg.de/klostercam/";
Wird nur in Spezialfällen benötigt, wo eine Kamera auf einem externen Server eingebunden werden soll. Die Nutzung ist im Normalfall eher nicht notwendig.
$webcam['wxFile']= "wetter/cam.txt";
Aus dieser Datei werden aktuelle Wetter- bzw. Temperaturangaben gelesen und ins Bild eingeblendet. Die Datei wird nur verwendet, wenn sie einen aktuellen Zeitstempel hat.
$webcam['wxFunc']= function($values, &$fields, &$raw_fields, &$camtxt) { .... $camtxt= sprintf("%d°C", round($fields['temp'])); return true; }
Wertet kamera- und hardwarespezifisch Wetter-Rohdaten aus und schreibt sie in ein generisches Array, das dann einheitlich weiterverarbeitet wird. Siehe Skript wx.php
$webcam['includePath'] - File-Pfad zum Include-Verzeichnis $webcam['includeUri'] - Web-Pfad zum Include-Verzeichnis $webcam['lastCommand'] - Letzter Befehl zum Kamerarechner $webcam['name'] - Kamera-Name (== Verzeichnisname) $webcam['parImg'] - Aufbereiteter CGI-Parameter img $webcam['workPath'] - File-Pfad ins aktuelle Kameraverzeichnis $webcam['workUri'] - Web-Pfad ins aktuelle Kameraverzeichnis
Diese Definitionen werden nur innerhalb der Software verwendet und sind nicht konfigurierbar. Sie werden automatisch beschrieben.
