gpt4 book ai didi

Python 和 OpenCV - 无法编写可读的 avi 视频文件

转载 作者:太空狗 更新时间:2023-10-30 01:33:02 26 4
gpt4 key购买 nike

我有这样的代码:

import numpy as np
import cv2


cap = cv2.VideoCapture('C:/Users/Hilman/haatsu/drive_recorder/sample/3.mov')

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640,480))

while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)

# write the flipped frame
out.write(frame)

cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break

# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()

但是无法播放output.avi

还尝试将 out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640,480)) 更改为类似这样的内容(如某些人所建议的) out = cv2.VideoWriter('output.avi', -1, 20.0, (640,480)).但是当我这样做时,我收到了这条消息

OpenCV:FFMPEG:未找到标记 0xffffffff/' '(格式 'avi/AVI(音频视频交错)')'

可能是什么问题?顺便说一句,我正在使用 Windows 10。

最佳答案

我也无法让该代码在我的 Windows 10 机器上运行。

这就是我所做的:

  1. 我关注了these instructions并在机器上安装最新的 ffmpeg 版本:
    1. 下载latest static build for Windows然后提取文件。您可能需要 7zip 来解压缩。
    2. 在 C:\中创建一个名为 ffmpeg 的文件夹
    3. 将提取文件的内容复制到C:\ffmpeg
    4. 编辑您的 PATH 环境变量以在末尾附加以下条目:C:\ffmpeg\bin;
    5. 打开 cmd 提示符并输入以下内容,确认一切正常(请注意,您可能需要以管理员身份运行 cmd):ffmpeg -版本
  2. 修改您的代码如下:

_

import numpy as np
import cv2
import os

base_path = 'C:\\Users\\Hilman\\haatsu\\drive_recorder\\sample\\'
cap = cv2.VideoCapture('%s3.mov' % base_path)

i = 0
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)
cv2.imwrite(os.path.join(base_path, str(i) + '.png'), frame)
i = i + 1
else:
break

# Release everything if job is finished
cap.release()
  1. C:\Users\Hilman\haatsu\drive_recorder\sample 打开命令提示符并运行以下命令:ffmpeg -framerate 29 -i %d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
  2. 您的视频应保存为 out.mp4

关于Python 和 OpenCV - 无法编写可读的 avi 视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643139/

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