使用opencv2在python中编写流媒体视频

mri*_*dul 3 python opencv video-streaming

在我的项目中,我想保存流媒体视频.

import cv2;
if __name__ == "__main__":
     camera =  cv2.VideoCapture(0);
     while True:
          f,img = camera.read();
          cv2.imshow("webcam",img);
          if (cv2.waitKey (5) != -1):
                break;
Run Code Online (Sandbox Code Playgroud)

`使用上面的代码可以从网络摄像头流式传输视频.如何将此流媒体视频写入文件?

Eka*_*lic 9

您只需将抓取的帧保存到图像中即可:

camera = cv2.VideoCapture(0)
i = 0
while True:
   f,img = camera.read()
   cv2.imshow("webcam",img)
   if (cv2.waitKey(5) != -1):
       break
   cv2.imwrite('{0:05d}.jpg'.format(i),img)
   i += 1
Run Code Online (Sandbox Code Playgroud)

或者像这样的视频:

camera = cv2.VideoCapture(0)
video  = cv2.VideoWriter('video.avi', -1, 25, (640, 480));
while True:
   f,img = camera.read()
   video.write(img)
   cv2.imshow("webcam",img)
   if (cv2.waitKey(5) != -1):
       break
video.release()    
Run Code Online (Sandbox Code Playgroud)

创建VideoWriter对象时,需要提供几个可以从输入流中提取的参数.可以在这里找到教程.

  • 有一个AttributeError:'cv2.VideoWriter'对象没有属性'release' (3认同)