Hallo zusammen,
ich möchte mit dem Zero bei erkannter Bewegung einen 10 Sekunden Film aufzeichnen - bevorzugt MP4.
Bewegungserkennung klappt,
Aufzeichnung als H264 Datei auch,
aber nur bei der 1. Bewegungserkennnung, denn bei der 2. folgt eine Fehlermeldung bzgl. einer unzureichenden Ressouce, aber anderer als RAM.
Ich bin Python Laie und schon froh, so weit gekommen zu sein, dass alles zusammengelötet ist und die Bewegung erkannt wurde und ein Foto / Video hinbekam.
Ich hatte einen simplen Code, der lief, aber irgendwann muss sich der Fehler eingeschlichen haben, ich dachte bei Umstellung von Sleep auf Waiting, aber das war es wohl nicht.
Noch eine Frage am Rande:
Wenn man die Preview einschaltet, dann kam die im Vollbild Modus, aber ich habe keine Ahnung, wie ich aus dem Vollbild wieder rauskommen kann, denn auf die Tastatur reagierte das System nicht mehr, also blieb mir nur Stecker raus ziehen und Code ändern.
:thumbs1: Vielen Dank
Wolf
#!/usr/bin/python3
# coding=utf-8
import time, datetime as dt, picamera, RPi.GPIO as GPIO
from time import sleep
PIR_PIN = 23
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
def motion(pin):
filename = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print ('Bewegung erkannt um %s' % (filename))
camera = picamera.PiCamera() # (resolution=(1280, 720), framerate=24)
camera.vflip = True
camera.hflip = True
camera.annotate_background = picamera.Color('black')
camera.annotate_text = filename
sleep (2)
# camera.capture('Bild_%s.jpg' % (filename))
camera.start_recording('VIDEO_%s.h264' % (filename))
start = dt.datetime.now()
while (dt.datetime.now() - start).seconds < 10:
camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
camera.wait_recording(0.2)
camera.stop_recording()
try:
GPIO.add_event_detect(PIR_PIN, GPIO.RISING, callback=motion)
while True:
time.sleep(0.5)
except (KeyboardInterrupt, SystemExit):
[/php]
[size=18]FEHLER[/size]
[size=12][code]Bewegung erkannt um 2016-11-25 10:44:46
[/size]
[size=12]mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC[/size]
[size=12]mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0xb5b1cc20 (ENOSPC)[/size]
[size=12]mmal: mmal_connection_enable: output port couldn't be enabled[/size]
[size=12]Traceback (most recent call last):[/size]
[size=12] File "PirVideo.py", line 16, in motion[/size]
[size=12] camera = picamera.PiCamera() # (resolution=(1280, 720), framerate=24) [/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 417, in __init__[/size]
[size=12] self._init_preview()[/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 496, in _init_preview[/size]
[size=12] self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])[/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/renderers.py", line 512, in __init__[/size]
[size=12] self.renderer.connect(source)[/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1467, in connect[/size]
[size=12] self._connection = MMALConnection(source, self.inputs[0])[/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1280, in __init__[/size]
[size=12] prefix="Failed to enable connection")[/size]
[size=12] File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 157, in mmal_check[/size]
[size=12] raise PiCameraMMALError(status, prefix)[/size]
[size=12]picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources (other than memory)[/size]
[size=18]
Display More
[/size]