Videoaufnahmeschleife fehlerhaft
lima-city → Forum → Programmiersprachen → Python
attribut
aufnahme
beenden
code
datei
dateiname
ende
fehler
file
hilfe
import
kamera
last
most
resolution
schleife
starten
verschieben
videoaufnahme
zusammenbau
-
Hallo Community,
ich habe mir für mein Raspi ein script geschrieben, der Filmen soll und nach einer bestimmten Zeit die Aufnahme beenden soll und danach durch die while-Schleife wieder mit der Aufnahme anfangen soll mit einer neuen Datei.
Leider bekomme ich bei der 2. Aufnahme ein Fehler:
Traceback (most recent call last):
File "videoschleife2.py", line 32, in <module>
VideoAufnahme(videoname) # Videoaufnahme starten
File "videoschleife2.py", line 10, in VideoAufnahme
cam.start_recording(dateiname)
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 1238, in start_recording
camera_port, output_port = self._get_port(True, splitter_port)
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 789, in _get_ports
if from_video_port else
TypeError: 'NoneType' object has no attribute '__getitem__'
#!/usr/bin/python3 import picamera cam = picamera.PiCamera() cam.resolution=(800, 600) i = 1 def VideoAufnahme(dateiname): try: cam.start_recording(dateiname) cam.wait_recording(10) cam.stop_recording() except KeyboardInterrupt: pass finally: cam.close() while i < 4: # print(i) titel = "video" nr = str(i) bezeichner = ".h264" videoname = titel + nr + bezeichner # Zusammenbau Dateiname print(videoname) VideoAufnahme(videoname) # Videoaufnahme starten i += 1
Wo ist mein Fehler? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hast du schonmal eine Aufnahme zustande gebracht? Also auch mit einem anderen Script?
Beitrag zuletzt geändert: 17.6.2016 21:58:07 von test42test -
Nein, aber aus diesem Script ist die 1. Aufnahme erfolgreich, er bricht bei der 2. Aufnahme mit dem Fehler ab
-
Was passiert, wenn du das cam.close() ganz an das Ende deiner Datei (außerhalb der while-Schleife) verschiebst? Das finally kannst du dann weg lassen.
-
das cam.close() habe ich an das Ende vom Script gestellt, jetzt funktioniert das Script. Danke für die Hilfe
-
Das .close() sorgt dafür, dass du die Kamera nicht mehr verwendest. Daher kann es im zweiten Durchgang die Kamera nicht mehr finden. Alternativ könntest du auch
cam = picamera.PiCamera() cam.resolution=(800, 600)
in deine Funktion verschieben. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage