使用Raspberry Pi +网络摄像头在python中录制视频总是获得一个空视频或只有一帧视频

时间:2017-12-09 14:40:56

标签: python opencv video webcam

我想用Raspberry Pi + wedcam(logitech)录制视频。虽然我发现了许多实际上几乎与以下代码相同的例子:

import numpy as np
import cv2

path = ('/.../output.avi')
fourcc = cv2.cv.CV_FOURCC(*'XVID')
out = cv2.VideoWriter(path,fourcc, 20.0, (640,480))

while(cap.isOpened()):
    #read the frame
    ret, frame = cap.read()
    if ret==True:
        #Write the frame
        video_writer.write(frame)
        #show the frame
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

# Release everything if job is finished
cap.release()
video_writer.release()
cv2.destroyAllWindows()

第一个问题,我尝试过OpenCV write frame to file python的所有解决方案 但似乎那些解决方案不适合我...... 所以我想知道是否有人有这个问题的其他解决方案,我将不胜感激! 第二个问题,我发现有人使用

cv2.VideoWriter_fourcc('XVID')

而不是

cv2.cv.CV_FOURCC(*'XVID')

这会是问题吗?此外,我试图使用cv2.VideoWriter_fourcc('XVID'),但得到一个错误:'module'对象没有属性'VideoWriter_fourcc'...我该如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

您使用'out'来创建视频编辑器对象

out = cv2.VideoWriter(path,fourcc, 20.0, (640,480))

所以也许你应该用video_writer.write(frame)

替换out.write(frame)

同时将video_writer.release()替换为out.release()