2

I am trying to sync the raspberry pi camera (revision 1.3) to an external microphone. The sync is fine for the first 5 minutes or so, but around the 20 minute mark, the difference becomes really noticeable.

I believe the issue might be because the camera is not actually recording at 25 fps, but I'm not sure why the difference in sync worsens as the video duration increases.

How would I go about fixing this?

with picamera.PiCamera() as camera:
camera.annotate_background = True
camera.framerate = 25
camera.resolution = (1280,720)
videofilename = file_timestamp + "_" + species + "_mytest.h264"
audiofilename = file_timestamp + "_" + species + "_mytest.wav"
mergefilename = file_timestamp + "_" + species + "_mytest.mov"
syncfilename = "sync_" + mergefilename

start = dt.datetime.now() 
command = "~/alsa-utils/bin/arecord -Dhw:sndrpiwsp -d %s -c 2 -f s16_LE -r 8000 %s" % (length, audiofilename)
camera.start_preview()
camera.start_recording(videofilename)
video_start_time = dt.datetime.utcnow() #
print str(video_start_time) + ' -- started video recording!'
psub = subprocess.Popen(command , shell=True, stderr=subprocess.PIPE, bufsize=1, universal_newlines=True)
while psub.poll() is None:
    line = psub.stderr.readline()
    if line[0:14] == 'Recording WAVE':
        #audio_start_time = dt.datetime.utcnow()
        print str(audio_start_time) + ' -- started audio recording!'
    if line[0:12] == 'Writing WAVE':
        audio_accurate_start_time = dt.datetime.utcnow()
        print str(audio_accurate_start_time) + ' -- started writing audio!'
audio_accurate_start_delay = audio_accurate_start_time - video_start_time #version numbering (v.2)
the_accurate_delay = float(str(audio_accurate_start_delay)[5:14])`merge = "avconv -i %s -i %s -c copy %s" % (videofilename, audiofilename, mergefilename)

sync = "avconv -itsoffset %s -i %s -i %s -map 0:1 -map 1:0 -c:v copy -c:a copy %s" % (the_accurate_delay, mergefilename, mergefilename, syncfilename)`

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.