cv2.videowriter写入0字节文件(python)(opencv)

时间:2017-07-12 04:06:56

标签: python opencv video-recording

我目前正在进行一项运动检测项目,该项目会在检测到运动时记录视频。现在录制视频时没有错误,但是当我检查视频时,它是0字节。非常感谢任何帮助。

这是我的代码:

camera = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640, 480))

1 个答案:

答案 0 :(得分:5)

当您的输入帧大小与输出视频不匹配时,会出现问题。

w = cap.get(cv2.CAP_PROP_FRAME_WIDTH);
h = cap.get(cv2.CAP_PROP_FRAME_HEIGHT); 
fourcc = cv2.VideoWriter_fourcc(*'DIVX')
out = cv2.VideoWriter('output.mp4',fourcc, 15.0, (int(w),int(h)))

这里你的输出视频是640,480,这取决于你的输入源(如果你没有调整它的大小)

您可以对其进行硬编码(检查输入视频或流源的帧大小)或使用以下代码:

{{1}}

我的建议是在while循环外抓取一个框架,然后用框架宽度和高度声明VideoWritter。 另外,如果不起作用,请尝试将编解码器从XVID更改为DIVX或MJPG。