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!
Aufnahme mit PICamera aller 30 min
-
- 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
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
- 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:
Dein restliches Vorhaben sollte einfach zu meistern sein, sofern du ein erstes Python-Grundlagentutorial durchgearbeitet hast.
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
....
When we say computer, we mean the electronic computer.
-
- 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
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
Mit anderen Worten: du willst dein Problem von jemand anderem gelöst haben, weil du eigentlich kein Interesse daran hast, Programmieren zu lernen.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.
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....