将视频数据录制成文件使用opencv是非常简单的,opencv为我们提供了专门将视频帧保存成视频文件的类。我们直接调用就可以。
- VideoWriter:通过VideoWriter可以将视频数据保存成多媒体文件。
- write:正式写入文件的api,需要指定编码格式、输出路径、视频帧率、分辨率。
- release:将缓存强制输出到磁盘中
import cv2
from cv2 import waitKey
fourcc=cv2.VideoWriter_fourcc(*'MJPG')
# 创建video对象
vw=cv2.VideoWriter('111.mp4',fourcc,25,(1280,720))
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
# 获取视频设备
cap=cv2.VideoCapture(0)
while 1:
# 从摄像头读视频帧
ret,frame=cap.read()
cv2.imshow('video',frame)
# 写数据到多媒体文件
vw.write(frame)
# 等待键盘事件,如果按q键就退出
key=cv2.waitKey(1)
if key==ord('q'):
break
# 释放VideoCaptrue
cap.release()
# 释放VideoWriter资源
vw.release()
cv2.destroyAllWindows()