Motion bilder löschen wenn speicher voll usw.

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Leute, ich bin jetzt soweit das meine Cam erkannt wird und ich motion installiert habe.

    Folgende Frage/n habe ich jedoch noch:

    1. Kann ich einstellen das Motion die alten Bilder nach einer weile automatisch löscht wenn der Speicher voll ist?

    2. Wie kann ich den Bildbereich einstellen in dem Motion aktiv wird?

    3. Wie kann ich auf einen Livestream kommen. Port 8080, 8081 ect. funktionieren nicht?!


    Ich danke im Vorraus fuer eure Hilfe :)

    • Offizieller Beitrag

    Auf die schnelle hab ich hier keine möglichkeit seitens motion gefunden, dass Bilder automatsich gelöscht werden. Ich würde mir ein Script schreiben, was den zu Verfügung stehenden Speicherplatz überprüft und dann anfängt die (ältesten) Dateien zu löschen. Das ganze in nen CronJob gepackt, fertig.

    Was meinst du mit bildbereich einstellen? motion reagiert auf veränderungen im WebCam Bild, das was die Kamera sieht ist dein Bereich, du kannst höchstens den Treshold Wert verändern, damit nicht wegen jeder "Fliege" Daten gespeichert werden.

    Hast du den den control_port auf 8080 gesetzt, denn default ist der nämlich 0 (aus)

  • Also das Verzeichnis kann ich mit


    Code
    sudo rm -rf /tmp/motion

    löschen. ( Wie kann ich ihn NUR leeren ohne den eigentlichen Ordner löschen? ).

    Sehen wie groß der Inhalt ist mit

    Code
    du -sh /tmp/motion

    Die Frage die ich mir stelle, ist wie kann ich das in ein Script verwenden?

    Ordner "Motion" soll bei einer Größe von (bsp. 10GB) geleert werden. Mit Cronjob das ganze dann alle x Minuten prüfen lassen?

    Ich währe dankbar wenn mir da jemand einen Denkanstoß geben kann. In PHP würde ich das ganze logisch lösen können. Ist mein erstes Linuxscript :)

  • Hi,

    löschen der Bilder geht doch ganz einfach, wenn Du alle auf einen Rutsch löschen willst:

    Code
    sudo rm -f *.jpg

    Dann sind alle Bilder auf einen Schlag weg ;-).

    Den Bereich, in dem Motion Bewegungen detektiert, kannst Du mit einer Bildmaske eingrenzen. Ein einfaches s/w-Bild. Frag mich jetzt aber nicht, was ausgewertet wird, ich glaube, es waren die weiß markierten Bereiche.
    Den Namen der Bilddatei mußt Du nur in der motion.conf eintragen.
    Google weiß genaueres.
    Übrigens gibt es in der motion.conf auch einen Abschnitt, in dem man festlegen kann, in welchem Rhythmus alte Bilder gelöscht werden. Vorgabe ist dabei (glaube ich) täglich. Auch hier gilt: google ist Dein Freund ;-).

    Gruß
    Kurt

    Ach so, hatte Punkt 3 vergessen...

    Auch hier gibt es in /etc/motion/motion.conf einen entsprechenden Eintrag, mit dem man den Livestream aktivieren und den Port auswählen kann. Bei mir funktioniert das einwandfrei. Eventuell solltest Du mal prüfen, ob Dein Router/Rechner den entsprechenden Port per Firewall blockiert.

    Gruß
    Kurt

    Einmal editiert, zuletzt von kurgil (11. Juni 2013 um 21:30)

  • Ok ich danke euch fuer eure Hilfe, kenne mich mit den Befehlen und der Config von Motion nun besser aus. Offen bleibt jedoch noch eine Frage:

    Ich habe den Modus aktiviert der mir keine Bilder sondern Videos speichert wenn etwas im Bild passiert. framerate bei 25, mit 100 und 2 habe ich es auch getestet. Funktioniert soweit auch gut nur wenn ich die Videos mit VLC, MPC ect. abspiele gehen diese nur 1-2 Sekunden lang. Obwohl meine Handlung vor der Cam 20-30 Sekunden geht. Es wird also nur max 1 Bild in der Sek gemacht und darum nehme ich an geht das Vid auch nur so kurz. Habt ihr da eine Erklärung? Anbei meine Config von motion.conf

  • Hab jetzt ne .sh datei erstellt unter /home/pi/bin/motion_encode_and_delete_jpgs.sh

    Inhalt:

    Bash
    #!/bin/bash
    DATER=`date +%d-%m-%s`
    FOLDER="/etc/motion"
    cd ${FOLDER}
    ls ${FOLDER}/*.jpg >tmplist_$DATER
    mencoder "mf://${FOLDER}/*.jpg" -ovc lavc -o motion${DATER}.avi
    cat $FOLDER/tmplist_$DATER|xargs rm --
    rm tmplist_$DATER

    ausführbar gemacht mit

    Code
    chmod a+x motion_encode_and_delete_jpgs.sh

    Verzeichnisse fuer Motion sehen so aus

    /etc/Motion

    Code
    motion.conf
    thread1.conf
    thread2.conf
    thread3.conf
    thread4.conf

    gespeichert wurden die Bilder und Videos in

    /tmp/motion

    ----

    Installiert habe ich mencoder mit

    Code
    sudo apt-get install mencoder

    - reboot gemacht.

    Es ändert sich leider noch nichts. Sollte eine .avi erstellt werden? Wenn ja wo wird die gespeichert? Habe nur eine .flv bekommen. Wie immer.

    Hier nochmal die aktuelle motion.conf

    Das war jetzt alles sehr ausführlich damit ihr wisst was sache ist. Hoffe das wir es noch hinbekommen :)

    • Offizieller Beitrag

    1. Hast du Script ganz oben den Falschen Ordnernamen angegeben ;), wenn du Bilder in /tmp/motion liegen sollte das auch da stehen :)
    2. wenn deine Datei motion_encode_and_delete_jpgs.sh heisst muss auch in der config beim on_event_end trigger das .sh hinter den scriptnamen

    Mal sehen was jetzt passiert (bedenke das avi soll erst nach 10 (gap) sekunden erscheinen)

  • Jetzt erstellt wer zwar die .avi, aber die motion erkennung ist nicht mehr das gelbe vom Ei.
    Auch bei der .avi das selbe Problem... Die Cam ist eine Logitech C615. Sollte also kompatible sein. Der RasPi ist im WLAN unterwegs. Ich verstehe es nicht -.- Geht es denn bei anderen Usern? bzw. was kann ich noch testen?

    dbv. ich danke für deine Hilfe!

  • JPG's speichert er nun garnicht mehr. Werden wahrscheinlich direkt zu .avi gebunden und gelöscht. Selbst wenn ich ein Screenshop mache ist es nach einiger Zeit weg. Soll ich nochmal die motion.conf zeigen?

    Ich werde einfach nicht schlau daraus warum nur so wenig Frames gemacht werden.

    in der motion.conf habe ich z.B. "gap 60" eingestellt?!

    • Offizieller Beitrag

    Kommentier diese beiden Zeilen einfach aus, ungefähr so

    Code
    #cat $FOLDER/tmplist_$DATER|xargs rm --
    #rm tmplist_$DATER


    Mich interessiert wieviele Bilder da drinne sind, wenn es bei 30sek nur 10-20bilder sind stimmt irgendwas am aufnahme setup nicht, oder die Kamera kann nur so eine niedrige Framerate (unter Linux, bei motion,...) oder die Kamera könnte schneller aber die SD Karte nicht.

  • So, jetzt hab ich Motion nochmal neu installiert und die Auflösung auf 320x240 belassen, wenn ich 20 Frames eingebe und eine Qualität von 100 dann bekomme ich gute 10 Bilder die Sekunde. Auflösung 640x480 hat dann nurnoch bei sonst gleicher Einstellung 2-4 Bilder in der Sekunde.

    Bei erstgenannter Einstellung bekomme ich relativ flüssige Aufnahmen hin. Kann das denn alles sein?
    Wenn ich per fswebcam direkt auf den Livestream sehe bekomme ich immer flüssige Bilder, auch bei 1280x720.

    Sollte das nun alles sein muss ich halt damit leben, vllt hast du @dbv oder jemand anderes noch ein Ass im Ärmel?!

    Gruß Ph3nomic

  • Ist ne Class 10 Karte, per USB Stick soeben versucht, bringt genau so "wenig" Frames wie mit der Karte. Denke einfach das mehr Frames vom RasPi nicht gepackt werden. Find ich schade, da ich auf 320x240 nicht wahnsinnig viel erkennen kann.

Jetzt mitmachen!

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