gpt4 book ai didi

python - OpenCV VideoWriter 写入损坏的视频文件

转载 作者:行者123 更新时间:2023-12-05 07:12:51 76 4
gpt4 key购买 nike

我正在尝试使用如下所示的 Python 脚本从我的网络摄像头流式传输和保存视频,但出于某种原因,“myvideo.mp4”文件非常小,无法使用 QuickTime(或其他播放器)打开 -它似乎是空的。但是,视频流运行完美。

正如其他主题中所建议的那样,我尝试了不同的文件格式和编解码器,并传递了我的网络摄像头返回的精确 fps、宽度和高度。也许有人知道这里的问题是什么?提前致谢!

import cv2

cap = cv2.VideoCapture(0)

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
fps = cap.get(cv2.CAP_PROP_FPS)

writer = cv2.VideoWriter('myvideo.mp4',cv2.VideoWriter_fourcc(*'mp4v'),fps,(width,height))

while True:

ret,frame = cap.read()

# OPERATIONS (DRAWING)
writer.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

cap.release()
writer.release()
cv2.destroyAllWindows()

我也曾尝试以 super 用户身份运行该脚本,但没有帮助。我正在使用 Mac。

QuickTime 错误:

无法打开文件“myvideo.mp4”。该文件与 QuickTime Player 不兼容。

最佳答案

尝试更改fourcc(用于压缩帧的编解码器的4字符代码。)

writer = cv2.VideoWriter('myvideo.mp4',cv2.VideoWriter_fourcc(*'mp4v'),fps,(width,height))

替换为

writer = cv2.VideoWriter('myvideo.mp4',cv2.VideoWriter_fourcc(*'XVID'),fps,(width,height))

关于python - OpenCV VideoWriter 写入损坏的视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60318589/

76 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com