Een korte blik op de PiCamera-documentatie (En met 0% kennis in Python) Ik denk dat je misschien een syntaxisfout hebt?
syntaxisfout: buiten bereik 'doorbreken'
In principe probeer je een lus te doorbreken van een niet-lus code. Een syntaxisfout veroorzaken. Of breken is niet toegestaan in die context.
Ik stel de volgende psuedo-codewijzigingen voor.
import time
import cv2
import picamera
with picamera.PiCamera() as camera:
camera.resolution = (640, 360)
camera.framerate = 24
camera.start_recording('one_day.h264', quality=20, bitrate=750000)
///Above line will start recording. I dont think you explicilty need to use wait recording as its already recording on another thread.
#camera.wait_recording(24 * 60 * 60)
//Psuedo code here- I dont know Python
///start a never ending loop, like while stop!= true?
/// use pause(50) to allow recording to progress
/// see if the user pressed a key in the buffer
/// Not sure if this is correct? key = cv2.waitkey(1) & 0XFF
/// if key == ord("q")
/// exit your loop by setting stop = true (or break, since you are in a loop)
/// no key pressed, start the loop again until broken or another condition is met
/// Now only call stop
camera.stop_recording()
In het document staat dat het gebruik van pause()
geen fouten oplevert. Pas als u het stoppen met opnemen belt. Dit kan ertoe leiden dat de helft van je video niet wordt opgenomen. Misschien in plaats van pause()
, gebruik je de wait_recording
met een korte tijdsperiode (zoals 5 seconden?). Als er fouten optreden, zou een fout moeten genereren en zeg het je, in plaats van te doen alsof je doorgaat en je pas lang later realiseert.
Ik hoop dat dit helpt, vanuit een psuedo logisch oogpunt.