RaspiStill + Watermark/Wasserzeichen

  • Guten Morgen Liebe Forengemeinde,

    ich habe eine Kleinigkeit bei der ich nicht weiterkomme, vielleicht habt ihr eine Idee. Mit der folgenden Bash erstelle ich alle 5 Sekunden (endlos) eine Aufnahme mit der RaspiCam. Das erzeugt Bild wird in dem ram geschrieben und alle 5 Sekunden durch das Neue ersetzt. Das funktioniert bestens. Nun möchte ich eine Wasserzeichen/Uhrzeit einbinden. Führe ich dies seperat aus klappt es auch, allerdings würde ich dies gern automatisch mit der Aufnahme ausführen lassen wollen. Hier die beiden an sich funktionierenden Einzelskripte:

    start-raspistill.sh:

    Bash
    #!/bin/bash
    
    
    #Bild aufnehmen:
    sudo raspistill --nopreview -ex night -awb auto -w 640 -h 480 -q 75 -o /var/www/ram/image.jpg -tl 5000 -t 0 -th 0:0:0 &

    wasser.sh:

    Ziel ist es, dass ich mit dem Start von start-raspistill nicht nur die Endlosaufnahmen erzeuge, sondern im gleichen Zuge auch ein Wasserzeichen mit dem Aufnahmedatum einbinde.

    Jemand einen Tipp für mich?

    Einmal editiert, zuletzt von Micky (17. April 2015 um 11:05)

  • Wie wäre es, beide Scripte zu vereinen?

    [font="Courier New"]
    +--------------------------------+
    1*Raspberry PiB+ > Arch Linux
    1*Raspberry Pi2 > Arch Linux/XFCE
    1*Banana Pi > Arch Linux/XFCE
    +--------------------------------+
    [/font]

  • Hallo raspi-yeti,

    das versuche ich gerade verzweifelt ;-(..

    z.B. mit:

    Code
    sudo raspistill --nopreview -ex night -awb auto -w 640 -h 480 -q 75 -o /var/www/ram/image.jpg -tl 5000 -t 0 -th 0:0:0 && sudo /home/pi/skripte/wasser.sh &

    Leider funktioniert es nicht, weil ich raspistill nicht über eine herkömmliche Schleife, sondern über den Parameter -t 0 aufrufe.

    Wer kann mir hier Beistand leisten, als Belohnung werdet ihr ins Abendgebet aufgenommen :D

    Grüße M.

  • Was bzw. wie führst Du aus?
    Erst die [font="Courier"]start-raspistill.sh[/font] , danach die [font="Courier"]wasser.sh[/font] ?

    [font="Courier New"]
    +--------------------------------+
    1*Raspberry PiB+ > Arch Linux
    1*Raspberry Pi2 > Arch Linux/XFCE
    1*Banana Pi > Arch Linux/XFCE
    +--------------------------------+
    [/font]

  • Die start-raspistill wird mit Hilfe von CronJob bei jedem Reboot ausgeführt und läuft dann dauerhaft. Die Kamera nimmt den Eingangsbereich einer Einfahrt auf und aktualisiert (24Stunden/7Tage) alle 5 Sekunden das Bild. Das Bild image.jpg wird also automatisch alle 5 Sekunden durch eine neue Aufnahme ersetzt.

    Ein einzelner/separater Start von wasser.sh wird dauerhaft schwer zu timen sein.... kann ich das Wasserzeichen nicht direkt über die start-raspistill mit erzeugen? Bisher nutze ich nur 2 einzelne Skripte um die Funktionalität zu prüfen. Da beide einzeln nun funktionieren, würde ich sie gern sinnvoll zusammenführen.

    Einmal editiert, zuletzt von Micky (17. April 2015 um 13:27)

  • Hi Micky,


    Ein einzelner/separater Start von wasser.sh wird dauerhaft schwer zu timen sein....


    Das Könnte man z.B. sehr effizient mit incron machen. Das ist ein Programm mit dem man auf veränderungen im Dateisystem reagieren kann. Es wäre damit zum Beispiel möglich immer irgend ein Skript zu starten wenn eine Datei in einem definierten Verzeichnis erstellt oder verändert wurde.
    Aber das wäre für dein Vorhaben wie ich finde viel zu umständlich.


    Leider funktioniert es nicht, weil ich raspistill nicht über eine herkömmliche Schleife, sondern über den Parameter -t 0 aufrufe.


    Dann machs doch mit einer Schleife. Ist auch gar nicht schwer. :)

    Du musst eigentlich nur den Inhalt der beiden Skripte in einen Endlosschleife packen und den raspi-still Befehl anpassen.
    Hier ein Grundgerüst wie das aussehen könnte:

    Also einfach den Inhalt der beiden Skripte an der entsprechenden Stelle einfügen (dabei den Shebang(die erste Zeile mit #!) weglassen) und dann noch den 'raspi-still' Befehl so umbauen das er nur noch ein einziges Bild macht.

    DON'T PANIC!

  • Hallo Joh-Raspi,

    vielen Dank für deine Antwort. Ich werde es mal über deinen Ansatz probieren und dann wieder nach 1-2 Tagen berichten, wie es gelaufen ist.

    An dieser Stelle schonmal vielen Dank, falls jemand noch einen anderen Vorschlag hat, würde ich mich über diesen ebenfalls freuen.

    Grüße M.

    Einmal editiert, zuletzt von Micky (17. April 2015 um 16:47)

  • Mahlzeit,

    das o.g. Skript habe ich nun die letzten Tage laufen lassen, leider nicht mit einem positiven Ergebnis. Folgende Probleme sind aufgetreten:

    1) die Bildqualität/Helligkeit der Aufnahmen schwankt sehr stark (raspistill braucht ja immer eine gewisse Zeit, bis die Bilder passen)
    2) hängt sich raspistill durch das häufige Starten irgendwann auf...

    Wenn ich über den herkömmlichen Weg die Aufnahmen erstelle, läuft es problemlos. Nur leider kann ich hier das Aufnahmedatum nicht implementieren.

    Code
    sudo raspistill --nopreview -ex night -awb auto -w 640 -h 480 -q 75 -o /var/www/ram/image.jpg -tl 5000 -t 0 -th 0:0:0 &

    Hat jemand noch eine Idee für mein Problem?

    Danke u. Gruß

    M.

  • Erst mal einen Dank an Euch für das Script.Das hat bei mir einiges vereinfacht.

    Hintergrund ist die PI Cam läuft selbständig als Webcam und überträgt alle 10 min ein Bild auf meinen Webspace.
    Vorher hatte ich 3 Cronjobs am laufen.Einer erstellt das Bild der zweite fügt das Wasserzeichen ein und der dritte überträgt das ganze auf die Homepage.Jetzt habe ich nur noch einen der das Script ausführt.

    Ich habe noch die Auflösung erhöht ebenso die Qualität und dann noch dieses -st (beseitigt Rotstich in der Mitte des Bildes) Und auch die Wartezeit auf 300 Sekunden

    Das Ergebniss kann man auf meiner Page sehen
    Raspberry Webcam Page

    Ich mache ach öfters Timelaps Aufnahmen mit folgendem Befehl und kann eigentlich nichts über schlechte Qualität sagen.....Aufnahme alle 5 Sekunden über die Dauer von 6 Stunden

    Code
    raspistill -st -co 20 -w 1920 -h 1080 -t 1000 -o /media/Raspi-Stick/timelaps/img_%06d.jpg -tl 5000 -t 21600000

    Habe ein Timelapsvideo erstellt aus ca.5000 Einzelbildern 6 Stunden lang alle 5 Sekunden
    Ergebnis :
    Timelaps Video an einem stürmischen Tag


    Ich hoffe das ich etwas helfen konnte.Denn ihr habt es....schönen Sonntag noch

    Einmal editiert, zuletzt von bayernsunny (18. September 2015 um 11:30)

  • Guten Morgen Sunny,

    vielen Dank für dein Feedback. Wie gesagt, wenn ich raspistill über den herkömmlichen Weg aufrufe läuft mein pi2 problemlos über mehrere Tage/Wochen. Wenn ich den Weg über die Schleife gehe um das Wasserzeichen aufzunehmen verabschiedet sich sporadisch raspistill. Habe gerade versucht einen Blick auf deine Cam zu werfen, leider nicht erreichbar ;) könnt also sein, dass du das gleiche Problem hast.

    Bin also nachwievor auf der Suche nach Anregungen, wie ich die aktuelle Uhrzeit der Aufnahme mit in das aktuelle Bild bekomme.

    Grüße M.

  • Ja habe gemerkt das sich mein Raspi komplett erschossen hat.Da half nur Stecker ziehen und wieder starten.In meiner alten Anordnung hatte ich 3 Cronjobs und da lief er wochenlang ohne Probleme.
    Ich lass das Script weiter laufen nur das augenscheinlichste was ich bisher nicht hatte war das SUDO vor dem raspistill.Das hab ich mal rausgenommen..so und nun wird beobachtet...
    SERVUS

  • Servus Sunny,

    gibt es bei dir Neuigkeiten? Ich erstelle derzeit wieder auf dem alten Weg meine Bilder (ohne Wasserzeichen), weil mir raspistill bei dem o.g. Weg nachwievor 1-2x am Tag abschmiert...

    Grüße M.

  • Also das Script aus meinem Beitrag #9 läuft recht stabil,aber ich habe da das
    while true; do (also die Endlosschleife) mit einer # davor mal auskommentiert und damit deaktiviert.Gut bei mir werden nur alle 5 Minuten ein Bild gemacht.
    Ich denke mal das bei dir der composite Befehl nach einer Weile überfordert ist alle 5 s eine Watermark Datei zu erstellen.Die Aufnahme zeiten stehen ja auch in der EXIF die jedes bild hat mit drinne.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!