【发布时间】:2016-08-13 01:52:09
【问题描述】:
OpenCV 2.4 VideoWriter couldn't save video files larger than 2GB, since it only accepts .avi files,我想知道在 OpenCV 3.0 中是否仍然如此,或者它是否可以保存没有此限制的其他类型的视频文件。
我试图找到任何指向 2GB 限制的文档或发布说明,说它能够处理更大的文件,但我找不到。
【问题讨论】:
OpenCV 2.4 VideoWriter couldn't save video files larger than 2GB, since it only accepts .avi files,我想知道在 OpenCV 3.0 中是否仍然如此,或者它是否可以保存没有此限制的其他类型的视频文件。
我试图找到任何指向 2GB 限制的文档或发布说明,说它能够处理更大的文件,但我找不到。
【问题讨论】:
即使OpenCV 3.0-beta documentation 另有说明,OpenCV 3.0 的VideoWriter 似乎也可以处理其他文件格式,例如mkv,如this issue 所示。
我修改了上述问题的代码以生成 4GB mkv 视频(4096 帧随机 2048x2048)。
需要注意的是图像大小应该在VideoWriter 中传递为width 然后height 而numpy array 应该使用height 然后width 初始化。 VideoWriter 否则会静默失败。
您还需要最近的 OpenCV 3.0 源来处理未压缩的流。
【讨论】:
6.6G test_xvid.mkv,在 mplayer 中看起来不错(来自 numpy 的 2048x2048 随机像素)
VideoWriter 的错误使用和错误报告。非方形 2>Gb 工作正常!
这不是 OpenCV 的限制。由于格式限制,AVI 文件大小不能大于 2 GB(4 字节大小的有符号整数的最大值为 2,147,483,647)。
是否可以使用 OpenCV(mkv 等)将视频打包到另一个容器中?
the RIFF header has the following form:
'RIFF' 文件大小文件类型(数据)
其中“RIFF”是文字 FOURCC 代码“RIFF”,
fileSize 是一个 4 字节值,给出文件中数据的大小,
fileType 是一个 FOURCC,用于标识特定的文件类型。
【讨论】: