windows下录制多媒体文件无法写入数据,文件已经生成

来源:3-9 代码优化

慕后端3006016

2021-07-14

import cv2

创建VideoWriter来定多媒体文件,保存为DIVX(avi格式)

fourcc = cv2.VideoWriter_fourcc(*‘DIVX’)

注意分辨率一定要与设备一致,否则写不了数据

vw = cv2.VideoWriter(“C:\Users\yangxj\Desktop\MachineLearning\temp\1234.avi”, fourcc, 30, (1280, 720))

创建窗口

cv2.namedWindow(“video”, cv2.WINDOW_NORMAL)
cv2.resizeWindow(“video”, 640, 480)

获取视频设备

cap = cv2.VideoCapture(0)

摄像头是否为打开状态

while cap.isOpened():
# 从摄像头读取视频帧
ret, frame = cap.read()

if ret == True:
    # 将视频帧在窗口中显示
    cv2.imshow('video', frame)
    # 重新交窗口设置为批定大小
    cv2.resizeWindow("video", 640, 480)

    # 写数据到多媒体文件
    vw.write(frame)

    # 等待按键事件,如果是q就退出
    key = cv2.waitKey(1) # 1ms一次,采集时用
    if (key & 0xFF == ord('q')):
        break
else:
    break

释放VideoCapture并关闭窗口

cap.release()

释放VideoWriter

vw.release()
cv2.destroyAllWindows()

写回答

2回答

慕移动3553068

2024-07-19

到底是这个

fourcc= cv2.VideoWriter_fourcc(*'DIVX')

还是这个

fourcc=cv2.VideoWriter.fourcc(*'DIVX')

我的电脑 摄像头是500万像素,导出来的文件是不能播放的,只几百K,不知道是什么原因。

0
2
李超
同时当录制结束时,要调用out.release()和cap.release()
2024-07-19
共2条回复

李超

2021-07-15

赞赞赞

0
0

OpenCV三大经典项目实战 一次掌握计算机视觉核心技能

OpenCV入门到进阶:实战三大典型项目

925 学习 · 233 问题

查看课程