Opencv Raspberry Pi 4中的mp4编解码器:不将帧写入视频

Opencv Raspberry Pi 4中的mp4编解码器:不将帧写入视频,opencv,raspberry-pi,opencv3.1,opencv-python,raspberry-pi4,Opencv,Raspberry Pi,Opencv3.1,Opencv Python,Raspberry Pi4,我无法在Rpi4上用cv2编写mp4视频文件。 我在反馈中得到的只是VIDIOC_DQBUF:无效参数 writer = cv2.VideoWriter('test.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (640, 480), True) stream = cv2.VideoCapture(0) ret, frame = stream.read() while ret: writer.write(frame) cv2.imshow

我无法在Rpi4上用cv2编写mp4视频文件。 我在反馈中得到的只是VIDIOC_DQBUF:无效参数

writer = cv2.VideoWriter('test.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (640, 480), True)
stream = cv2.VideoCapture(0)
ret, frame = stream.read()
while ret:
    writer.write(frame)
    cv2.imshow('Video', frame)
    ret, frame = stream.read()
    if cv2.waitKey(1) & 0xFF==27:
        break

stream.release()
writer.release()
cv2.destroyAllWindows()
视频使用cv2.imshow(frame)显示,并输出文件,但实际上没有向其写入任何帧,因此视频文件似乎已损坏


我假设这是一个编解码器错误。我曾尝试在VideoWriter()中使用fourcc=-1显示编解码器,尽管我尝试过的其他fourcc也不起作用。有人成功地使用opencv在rpi4上编写视频吗?

我已经测试了您的代码,它在我的Raspberry Pi 4上运行良好。我正在使用最新的Raspberry Pi OS和OpenCV 4.3.0。我还可以使用avi编解码器:

out=cv2.VideoWriter('output.avi',cv2.VideoWriter_fourcc(*'XVID'),30.0,(640480))

如果您不能同时使用这两个选项,请尝试对您的rpi4进行一些更新。

我已经测试了您的代码,它在我的Raspberry Pi 4上运行良好。我正在使用最新的Raspberry Pi OS和OpenCV 4.3.0。我还可以使用avi编解码器:

out=cv2.VideoWriter('output.avi',cv2.VideoWriter_fourcc(*'XVID'),30.0,(640480))

如果不能同时使用这两个选项,请尝试对rpi4进行一些更新。

1-此处未定义fps,希望您在实际代码中定义fps。2-您的操作系统中是否有gstreamers?如果没有安装他们1-fps没有定义在这里,我希望你在你的实际代码中定义。2-您的操作系统中是否有gstreamers?如果没有,请安装它们