Aufnahme mit PICamera aller 30 min

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Streifenhase1
User
Beiträge: 90
Registriert: Dienstag 22. Mai 2018, 07:15

Hallo

Ich bin absoluter Neuling mit Python.

Ich bräcuht Hilfe bei der Erstellung eines Codes für meine Kamera

Ich habe eine Raspberry mit Camera Modul V2 Bild etc. habe ich soweit, Suche jetzt eine Lösung um aller 30 min ein 20Sekunden Video aufzunehmen und am besten so das nach 1000 Aufnahmen die älteste wieder Überschrieben wird.
Wenn es gänge währe es auch gut wenn im den Aufgenommen Video Datum und Uhrzeit stehen würde.

Könnte mir jemand dabei Helfen oder hat evtl. schon was fertiges da.

Danke!
Sirius3
User
Beiträge: 17746
Registriert: Sonntag 21. Oktober 2012, 17:20

Was sagt denn Google?
Streifenhase1
User
Beiträge: 90
Registriert: Dienstag 22. Mai 2018, 07:15

Ja so richtig komme ich nicht weiter.... habe folgendes zusammen bekommen.

import picamera

import datetime as dt









with picamera.PiCamera() as camera:

camera.resolution = (1280, 720)

camera.framerate = 24

camera.exposure_mode = 'off'

camera.awb_mode = 'off'

camera.awb_gains = 1.3, 1.2

camera.vflip = True

camera.hflip = True

camera.drc_strength = 'off'

camera.annotate_background = picamera.Color('black')

camera.annotate_text_size = 24



cam_bri = 70

cam_shu = 30000

cam_con = 60

cam_iso = 400

cam_sha = 0



camera.brightness = cam_bri

camera.shutter_speed = cam_shu

camera.contrast = 50

camera.iso = 400

camera.sharpness = 50



camera.start_preview()



camera.annotate_background = picamera.Color('black')

camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

camera.start_recording('timestamped.h264')

start = dt.datetime.now()

while (dt.datetime.now() - start).seconds < 30:

camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

camera.wait_recording(0.2)

camera.stop_recording()



Möchte aber nun das ich mit z.b. Taste "e" das script beenden werden kann... und das die Kamera endlos läuft und aller 30minuten ein 20s aufnimmt und mit Datum und Uhrzeit als Datum aus USB Stick speichert. Wenn er 1000 Aufnahmen hat dann immer die älteste löscht.

Ohne Hilfe schaffe ich das nicht

Danke
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Es wäre schön, wenn du deinen Code hier zukünftig mit den entsprechenden Python-Code-Tags formatierst, das was du da gepostet hast erschwert die Lesbarkeit ungemein. Programmieren und besonders Softwareentwicklung besteht nicht daraus haarige Code-Schnippsel aus dem Internet zusammen zu nageln in der Hoffnung dass am Ende genau das herauskommt, was man möchte.

Eingerückt wird in Python mit vier Leerzeichen, hier wird auch gar nicht ersichtlich, was genau zu welchem Code-Block gehört. `cam_bri`, `cam_shu`, `cam_con` etc. sind nicht nur schlechte Variablenbezeichnungen (Variablennamen sollten so gewählt werden, dass man einfach erkennt was sie tun bzw. wofür sie gut sind), es ist auch nicht ganz klar warum sie deklariert werden, wenn sie sowie nur einmal verwendet werden, und zwar um den Attributen vom `camera`-Objekt zugeordnet zu werden. Solltest du sie dennoch benötigen, warum auch immer, gehören sie als Konstanten ganz oben in den Code, unter den Importen und noch oberhalb der Funktionen/Methoden/Klassen, und werden immer Großgeschrieben: z.B:

Code: Alles auswählen

import picamera
import datetime

BRIGHTNESS = 70
SHUTTER_SPEED = 30000
CONTRAST = 60
ISO = 400
SHARPNESS = 0

with picamera.PiCamera() as camera:
    camera.resolution = (1280, 720)
    camera.framerate = 24
    ....
Dein restliches Vorhaben sollte einfach zu meistern sein, sofern du ein erstes Python-Grundlagentutorial durchgearbeitet hast.
When we say computer, we mean the electronic computer.
Sirius3
User
Beiträge: 17746
Registriert: Sonntag 21. Oktober 2012, 17:20

@Streifenhase1: wo ist denn nun Dein konkretes Problem? Was hast Du versucht? Wo kommst Du nicht weiter?
Streifenhase1
User
Beiträge: 90
Registriert: Dienstag 22. Mai 2018, 07:15

@sirius3
Also vorweg noch mal ich bin komplett neu auf dem Gebiet und ist auch erst mal eine einmalige Sache.

Ich möchte den Raspberry mit der picam als Überwachung nutzen also quasi ein permanentes Bild haben.

Dazu soll aller 30minuten eine Aufzeichnung von ca. 20sekunden laufen die auf einem Stick mit Datum und Uhrzeit als Dateiname gespeichert werden.

Wenn z.b. 1000 aufnahmen erfolgt sind soll die älteste gelöscht werden ehe die 1001 erfolgt.

Momentan bin ich nur soweit gekommen das ich eine Aufnahme startet füe die zeit die icj vorgegeben habe und diese mit Datum und Uhrzeit der Aufnahme auf dem Stick gespeichert wird.

Nach der Aufnahme wird das script beendet und habe auch kein Bild mehr.

Danke fals du dir die Mühe machen solltest mir zu helfen
__deets__
User
Beiträge: 14533
Registriert: Mittwoch 14. Oktober 2015, 14:29

Streifenhase1 hat geschrieben: Mittwoch 23. Mai 2018, 20:02 @sirius3
Also vorweg noch mal ich bin komplett neu auf dem Gebiet und ist auch erst mal eine einmalige Sache.
Mit anderen Worten: du willst dein Problem von jemand anderem gelöst haben, weil du eigentlich kein Interesse daran hast, Programmieren zu lernen.

Wieviel Stunden Arbeit steckst du denn so in die Spassprojekte anderer, und vor allem unbekannter, Leute? Die dazu auch noch eher langweilig, wenn auch durchaus arbeitsintensiv sind?

Denn dazu gehört ja noch, das dein Skript nach Neustart des Rechners automatisch wieder läuft, und dann da wieder aufsetzt an der Stelle, wo es aufgehört hat. Womit es entweder sich merken muss, welches die letzte Datei war die beschrieben wurde, oder eine RTC muss angebunden werden, oder NTP funktionieren. Etc pp. Und davon, das der Hilfesteller dann natürlich auch Support fürs nächste Feature oder bei Problemen leisten soll ganz zu schweigen.

Hier wird Hilfe zur Selbsthilfe geboten. Gelegentlich mal bei persönlichem Interesse auch mit durchaus signifikantem Einsatz. Für Auftragsabwicklung aller Arten gibt es andere Plattformen, wo du dein Problem gegen Geld gelöst bekommst. Oder du gibst es gleich Geld für ne professionelle Lösung aus. Sowas ist ja durchaus käuflich erwerbbar....
Antworten