Skip to main content

Webcamloader (Debian / 07.2025)

Der Webcamloader ist ein Kamera-Bildloader,universelles derHeadless-Bash-Script universellzur eingesetztautomatisierten werden kann.

Der Sinn dahinter ist, dass BilderErfassung von einerKamerabildern. KameraEs gezogeneignet werdensich ideal für den Einsatz bei Baufortschrittsdokumentationen, Wetter- und mitLandschaftsbeobachtungen, diesenLangzeitstudien dannund amähnlichen Ende ein Video daraus zu machen.
Zeitraffer-Projekten.

Das Programm verwendet - wie überall von mir eingesetzt - den Auslagerungsordner /home/$USER/script-data. Darin wird dann webcamloader erstellt und Programm-, Log- & Statusdaten abgelegt. Sofern kein eigenes Verzeichnis für die Medien (Bilder/Videos) angegeben wurde, wird in dem Data-Ordner nochmals webcamloader angelegt. Es ist sinnvoll, den webcamloader aufgrund der Datei- / Projektgrößen auf externe Datenträger auszulagern. Der Pfad ist zu Beginn bei der Installation oder später in der Konfiguration zu ändern.

Genauer: Dieses Bash-Script lädt automatischin regelmäßigen Intervallen Einzelbilder von einer BildquelleBildquellen oder VideostreamVideostreams herunter,herunter und speichert siediese lokallokal. ab.Die BeiBilder Fehlernkönnen oderspäter Fertigstellungzu eines Projektes kann optional eine Email gesendet werden. Der Sinn dahiner ist eineinem Zeitraffer-Video zuweiterverarbeitet erhalten, Baufortschrittsdokumentationen oder auch Wetterkameras, usw.werden.

Unterstützte Kameraformate:Quellen: BildquellenBildquellen: (z. B. jpg,snapshot.jpg, snapshot.cgi)cgi oderund VideostreamsVideostreams: (z. B. faststream,faststream, motion-jpeg,jpeg, video.cgi)cgi.

Wenn dasDas Script zumspeichert erstenalle MalDaten ausgeführtzentral wird,unter werden/home/$USER/script-data/webcamloader/
Darin Pfadangabenbefinden abgefragt,sich: danachProjektverzeichnisse, werdenStatusdaten, allgemeineLogfiles, DingeKonfigurationen. ausOptional kann ein abweichender Medienordner (z. B. auf einer externen Festplatte) angegeben werden. Falls keiner definiert ist, wird der KonfigurationMedienpfad abgefragt.

automatisch

Esunterhalb gibtdes einscript-data-Verzeichnisses Menü bei blanko-Ausführung (./webcamloader.sh), einen Quicky-Modus mit kompletter Argumentenübergabe (./webcamloader quicky ...) und einen cron-Modus für die Crontab, um z. B. einmal täglich ein Bild anzufertigen (./webcamloader.sh cron ...).angelegt.

Funktion im Wesentlichen erklärt:
Das Script prüft zu Beginn, ob die Kamera erreichbar ist, lädt ein Testbild, errechnet anhand diesem die erforderliche Größe für die Bildanzahl, erstellt im nächsten Schritt Projektordner und beginntnimmt die Arbeit.Arbeit auf.
Falls ein Zeitfenster angegeben wurde, wird dieses berücksichtigt.
Im Fehlerfall wird der Benutzer benachrichtigt per Email, sofern angegeben.

AllgemeineDas Script bietet drei Modi, die weiter unten genauer erklärt werden:
• Menü: Interaktives Menü mit allen Funktionen.
• Quicky: Komplette Steuerung via Argumente, kein Menü.
• Cron: Einmalaufrufe, zeitgesteuert z. B. über Crontab.

Technische Hinweise:
• Die Kamera-URL muss direkt zumauf Bild/Videoein führen,Bild bitteoder einen MJPEG-Stream verweisen – nicht zurauf Eingabemaskeeine HTML-Seite oder die Kamera selbst!Steueroberfläche.
FallsFür Email angegeben wird,E-Mail-Benachrichtigungen muss der Server permail "mail"oder (sendmail)sendmail ininstalliert derund Lagekorrekt sein,eingerichtet Emails versenden können!haben.
• Bei dem Funktionsschalter ist zu beachten:gilt: -f 0 ist Hintergrundmodus (keine Ausgabe), -f 1 ist Vordergrundmodus, komplette Ausgabe. Falls Ausgabe erwünscht ist, wird das Programm screenscreen empfohlen, da bekanntlich beim Schließen des Terminals auch diedas ArbeitScript desbeendet Webcamloaders unterbrochen wird!wird.
• Wird keine Funktion -f angegeben, startet automatisch der Vordergrundmodus.

Das Script ist ressourcenschonend und benötigt keine Root-Rechte. Es erzeugt keine externen Weiterleitungen außer zur Kamera selbst.

 

=== FUNKTIONSWEISE Menü ===

Der Menümodus ist die klassische und interaktive Hauptfunktion des Webcamloaders. Wird das Script ohne Parameter aufgerufen (./webcamloader.sh), startet automatisch das Hauptmenü. Dieses ermöglicht eine geführte Bedienung, ohne dass man die Parameter auswendig kennen oder mitgeben muss. Es eignet sich besonders für neue Benutzer oder Projekte, bei denen man Schritt für Schritt durch die Einstellungen geführt werden möchte.

Im Menü kann zwischen verschiedenen Aktionen gewählt werden: Ein neues Projekt starten, ein bestehendes Projekt fortsetzen, Einstellungen ändern, den Status prüfen oder das Projekt abbrechen. Der Einstieg erfolgt über die Eingabe grundlegender Informationen wie Kamera-URL, Projektname, Anzahl der Bilder und Aufnahmeintervall. Optional kann ein Zeitfenster für die aktiven Aufnahmezeiten angegeben werden. Außerdem besteht die Möglichkeit, eine Benachrichtigungs-Mailadresse zu hinterlegen und zu entscheiden, ob die Ausgabe im Vordergrund oder still im Hintergrund erfolgen soll.

Sobald alle Angaben gemacht wurden, erhält man eine Übersicht mit geschätztem Speicherbedarf und Laufzeit. Mit einem einfachen Tastendruck startet die Aufzeichnung. Auch nach Projektstart können noch Informationen zum Projektstatus abgerufen oder Einstellungen angepasst werden, etwa um das Projekt frühzeitig zu beenden oder ein neues zu beginnen.

Der Menümodus ist somit der flexibelste und komfortabelste Weg, ein Zeitraffer-Projekt zu starten, und bietet zugleich volle Kontrolle über den Ablauf – ohne direkte Kommandozeilenparameter.

 

=== FUNKTIONSHINWEISE Quicky-Modus ===

Der Quicky-Modus ist gedacht für schnelles Beginnen eines Projekts. Nach Übergabe aller erforderlichen Parameter erhält man eine Zusammenfassung mit Berechnung der Aufnahmedauer und kann mit ENTER das Projekt beginnen.

Aufruf: ./webcamloader.sh quicky -u <URL> -n <Name> -b <Anzahl> -i <Intervall> -e <E-Mail> -f <Funktion 0|1> -t <Zeitfenster>

Parameter im Einzelnen:
-u = Kamera URL komplett mit http(s).
-n = Projektname. Freier Name für das Projekt.
-b = Bilderanzahl für das Gesamtprojekt.
-i = Intervall für die Pausenzeiten zwischen den Bilderdownloads.
-e = Email (optional) für die Benachrichtigung (optional).
-f = Funktion/Ausführung - 0 oder 1 (optional).
-t = Zeitfenster im Format 9-18 (optional).

=== FUNKTIONSHINWEISE Cron-Modus ===

Der Cron-Modus ist ein Einmalaufruf, bei dem genau ein Bild gespeichert wird. Dieser ist gedacht für Langzeitaufnahmen mit Bild einmal am Tag per Crontab. Dabei können auch Folgebilder gesetzt werden. Dies ist sinnvoll, wenn der Cron-Befehl um 12:00 Uhr losgeht aber man nochmal ein Bild um 16:00 Uhr haben möchte. Klar könnte man den Crontab als 12,16 kennzeichnen - man könnte hier auch 2 Bilder definieren im Abstand von 4 Stunden. Ist Geschmackssache.

Aufruf: ./webcamloader.sh cron -u <URL> -n <Name> -x <Anzahl> -y <Intervall>

Parameter im Einzelnen:
-u = Kamera URL komplett mit http(s).
-n = Projektname. Freier Name für das Projekt.
-x = Folgebilder (optional).
-y = Intervall (optional).


Die herunterladenen Bilder werden unter dem Medien-Pfad, wie eingangs definiert, angesehen werden. Videos ebenfalls, sofern sie übers Menü des Scripts generiert wurden.

Das Programm kann man hier in immer der neuesten Version herunterladen und sich zunutze machen:

Webcamloader Script

Vielen Dank, 
mariobeh.