motopi
Posts: 20
Joined: Wed Dec 17, 2014 12:27 pm

python PiCameraAlreadyRecording

Tue Jun 23, 2015 5:34 pm

I am trying to record for thirty seconds and then create a new file now im getting this error! Can someone help me with this ? the original goal is record for a hour snapshot image every 10 minutes and then when the hour is up make a new file over and over again. just done 30 seconds to test stuff out. 'The camera is already using port %d ' % splitter_port)
picamera.exc.PiCameraAlreadyRecording: The camera is already using port 1

Code: Select all

#!/usr/bin/env python
import picamera
import datetime as dt
import Image  
import os
os.chdir('/var/www/drive/')


with picamera.PiCamera() as camera:
    camera.resolution = (1280, 720)
    camera.framerate = 10
    camera.awb_mode = 'auto'
    #camera.start_preview()
    #camera.annotate_background = picamera.Color('black')
    #camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    while True:
        start = dt.datetime.now()
        timestamp = start.strftime("%d%m-%H%M%S")
        camera.start_recording(timestamp+'.h264')
        camera.wait_recording(1)
        while (dt.datetime.now() - start).seconds < 30:
            camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            camera.capture('/var/www/image.jpg', use_video_port=True,resize=(620, 480))
            camera.wait_recording(15)           
    camera.stop_recording()

User avatar
elParaguayo
Posts: 1943
Joined: Wed May 16, 2012 12:46 pm
Location: London, UK

Re: python PiCameraAlreadyRecording

Tue Jun 23, 2015 7:03 pm

Could be way off the mark as I don't have a camera attachment, but your "camera.stop_recording()" line is never going to be called. If you want that line to be called after your 30 second loop then you need to change the indentation:

Code: Select all

#!/usr/bin/env python
import picamera
import datetime as dt
import Image  
import os
os.chdir('/var/www/drive/')


with picamera.PiCamera() as camera:
    camera.resolution = (1280, 720)
    camera.framerate = 10
    camera.awb_mode = 'auto'
    #camera.start_preview()
    #camera.annotate_background = picamera.Color('black')
    #camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    while True:
        start = dt.datetime.now()
        timestamp = start.strftime("%d%m-%H%M%S")
        camera.start_recording(timestamp+'.h264')
        camera.wait_recording(1)
        while (dt.datetime.now() - start).seconds < 30:
            camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            camera.capture('/var/www/image.jpg', use_video_port=True,resize=(620, 480))
            camera.wait_recording(15)           
        camera.stop_recording()
RPi Information Screen: plugin based system for displaying weather, travel information, football scores etc.

Return to “Python”