录制视频
import cv2 as cv
# 创建VideoWriter_fourcc 为写多媒体格式 mac提示支持 mp4v
fourcc = cv.VideoWriter_fourcc(*'mp4v')
# (1920,1080) 对应 摄像头的分辨率 cap.get(3/4) 读取
vw= cv.VideoWriter('out1.mp4',fourcc,25,(1920,1080))
# 创建窗口 设置大小
cv.namedWindow('video',cv.WINDOW_NORMAL)
cv.resizeWindow('video', 640, 360)
# 获取视频设备
cap=cv.VideoCapture(0)
#判断摄像头是否为打开关态
while cap.isOpened():
# 读取视频帧
ret, frame= cap.read()
# 读取成功
if ret == True:
# 显示
cv.imshow('video', frame)
# 写数据到多媒体文件
vw.write(frame)
# 等待退出
key = cv.waitKey(1)
if(key & 0xFF == ord('q')):
break
else:
break
# 回收
cap.release()
vw.release()
相关API
-
def write_video(file_path, frames, fps)
- :param file_path: 输出视频的路径
- :param frames: PIL.Image 对象列表
- :param fps: 所需的帧速率
-
cv::VideoCapture::VideoCapture(int index,int apiPreference = CAP_ANY )
- index 要打开的视频捕获设备的 ID。要使用默认后端打开默认摄像头,只需传递 0。(当 apiPreference 为 CAP_ANY 时,camera_id + domain_offset (CAP_*) 的向后兼容性使用有效)
- apiPreference 首选使用的 Capture API 后端。如果多个可用,可用于强制执行特定的读取器实现:例如cv::CAP_DSHOW 或 cv::CAP_MSMF 或 cv::CAP_V4L。