Die Tücken einer Webcam (1/2)

Die Idee eine Webcam zu installieren und den Ausblick aus unserem Büro mit den Internetbenutzern zu teilen hatten wir schon länger. Mit der Eröffnung des Bärenparks auf der gegenüberliegenden Aareseite hat sich die Idee konkretisiert und wir haben uns daran gemacht die Idee umzusetzen. Von Anfang an war klar, dass das Vorgehen "kaufen, anschrauben, laufen lassen" nicht wird möglich sein. Die Problemstellung war die folgende:

  • Die Webcam würde an unser Netz hier in der Bürogemeinschaft angeschlossen. Dies darf nicht zu stark belastet werden. Die Last darf daher nicht proportional mit den Nutzern der Webcam steigen.

  • Webcams verfügen im Allgemeinen über ein hässliches UI zur Bedienung. Wir möchten aber eine hübsche Webseite anbieten.

  • Die Kamera soll gesteuert werden können. Sind viele Leute gleichzeitig online, muss hier eine Lösung gefunden werden.

Als Kamera haben wir uns für die WCS-2040 von level1 entschieden welche ein gutes Preis/Leistung Verhältnis hat für ein Tilt/Shift/Zoom (T/S/Z) Modell. Der Bärenpark sollte ja von nah sichtbar sein, also musste ein Zoom möglich sein..

Diese oben stehenden Punkte haben wir gelöst in dem wir einen Kamera-Proxy entwickelt haben. Diese Applikation läuft als www.bärepark.ch auf einem unserer Server im Puzzle-Rack im Sunrise Rechenzentrum. Der Proxy lädt alle ca. 2 Sekunden das aktuelle Bild von der Kamera, verteilt dieses an alle Webseiten und setzt allfällige Steuerkommandos zuhanden der Kamera ab. Zudem führt die App einige Batch-Jobs durch. Die Übersichtsbilder werden alle 10 Minuten neu geladen sowie kalibriert und die Kamera wird alle 2 Stunden neu gestartet (sie hat sich im Dauerbetrieb leider als störanfällig heraus gestellt).

Das Web-UI haben wir mit Apache Wicket umgesetzt. Dieses Web-Framework bietet einige Ajax-Funktionalität, was für die geplante Umsetzungsvariante unabdingbar war. Wicket ermöglicht es eine kleinere bis mittlere Web-Applikation in sehr kurzer Zeit umzusetzen. Die sehr moderne Architektur der Library erleichtert zudem die Integration von Spring und anderen State-of-the-Art Technologien.

Daneben setzen wir ImageMagick zur Bearbeitung der Bilder ein. Dies beinhaltet das Drehen der Bilder sowie das Einfügen des Tegonal-Logos als Watermark.

Um allen BesucherInnen die Steuerung der Kamera zu ermöglichen, haben wir eine Warteschlange vorgesehen. BesucherInnen können der Reihe nach 60 Sekunden steuern.

Gut. Funktioniert. Kurz eine Mitteilung an die Presse verfasst und gewartet.

(Was dann geschah liest du im zweiten Teil des Artikels.)