繁体   English   中英

使用python录制网络摄像头视频

[英]Record a Webcam video with python

我正在尝试从网络摄像头流中捕获视频。 python逻辑是

如果按下按钮,则存储当前流,直到按下停止按钮。

注意:我正在使用OpenCV在wxPython窗口中流式传输网络摄像头视频。

  def record(self, evt):
      cap = cv2.VideoCapture(0)

      # Define the codec and create VideoWriter object
      fourcc = cv2.VideoWriter_fourcc(*'XVID')
      out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

我已经尝试了上面的代码,但它只在输出目录中存储5.54kb的文件?

怎么做?

您已通过以下方式设置了视频编写器对象

out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

但是您尚未使用write方法写入视频帧缓冲区。

为此,您需要调用实例化的writer对象的write方法:

success, buf = cap.read()
out.write(buf)

必须将其放入循环中或由wx.Timer ,否则将仅保存一帧。

最后,完成流传输后,请执行out.release()关闭视频文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM