【发布时间】:2016-12-12 19:05:56
【问题描述】:
我一直在尝试在 python 中使用 OpenCV 编写 MP4 视频文件。
当我同时使用 linux 和 windows 时,AVI 创建工作正常:
out = cv2.VideoWriter('x.avi', 0, 30, (640, 480))
和
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter('x.avi', fourcc, 30, (640, 480))
甚至
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter('x', fourcc, 30, (640, 480))
.
当我尝试保存 MP4 但没有保存时 - 使用:
fourcc = cv2.VideoWriter_fourcc(*"H264")
out = cv2.VideoWriter('x.mp4', fourcc, 30, (640, 480))
和
fourcc = cv2.VideoWriter_fourcc(*"AVC1")
out = cv2.VideoWriter('x.mp4', fourcc, 30, (640, 480))
没有错误发生,只是没有保存。
过去几天我尝试了所有方法,尽一切努力避免创建 AVI,然后使用 ffmpeg 将其转换为 MP4,因为我发现这是一种可怕的做法。
【问题讨论】:
-
我猜opencv在videowriter中使用ffmpeg对视频进行编码(转码)和打包。也许你的系统上没有它?作为一种解决方法,您可以使用 ffmpeg 将您的 avi 转换为 mp4。
-
如果我安装了 FFMPEG,你认为它会起作用吗?
-
是python模块还是实际的windows程序什么的
-
cv::VideoWriter::VideoWriter上的文档说:构造函数/函数初始化视频编写器。在 Linux 上 FFMPEG 用于编写视频;在 Windows 上使用 FFMPEG 或 VFW;在 MacOSX 上使用 QTKit。 我不认为 openCV 自己实现了 H.264 编码器和 ISOBMFF。 -
我也有同样的问题。有时我得到一个视频,有时我得到一个空文件。你解决问题了吗?
标签: python opencv video ffmpeg