请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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()

正在回答 回答被采纳积分+3

2回答

慕移动3553068 2024-07-19 06:58:47

到底是这个

fourcc= cv2.VideoWriter_fourcc(*'DIVX')

还是这个

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

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

0 回复 有任何疑惑可以回复我~
  • 李超 #1
    fourcc= cv2.VideoWriter_fourcc(*'DIVX')
    回复 有任何疑惑可以回复我~ 2024-07-19 12:50:01
  • 李超 #2
    同时当录制结束时,要调用out.release()和cap.release()
    回复 有任何疑惑可以回复我~ 2024-07-19 12:51:02
李超 2021-07-15 21:24:07

赞赞赞

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信