4

I am writing a video using OpenCV on Linux machine. I want to read the same video using OpenCV on a Windows machine. I am not able to do this using the standard codecs provided in openCV.

Can anybody suggest how I can read/write videos across the two platforms?

4

2 回答 2

2

OpenCV Wiki 直接解决了这个问题。请参阅http://opencv.willowgarage.com/wiki/VideoCodecs,特别是标题“兼容性列表”。

不幸的是,所有三个平台(Linux、Windows 和 OSX)都支持的唯一编解码器是“DIB”、“I420”和“IYUV”,它们都是未压缩的视频编解码器,因此文件大小非常大。

wiki 还列出了一些可以在任何两个平台上工作但不能在所有三个平台上尝试的编解码器。

如果您决定使用未压缩的视频文件,您可以使用类似VirtualDub的程序将它们转换为文件大小较小的文件。


编辑:仅供参考,在 Windows 上,我在 Motion-JPEG 中有 OpenCV 输出,然后我在直接流复制模式下使用 VirtualDub 来重新保存文件,该文件纠正了电影索引的错误。然后这些 M-JPEG 视频文件默认在 Mac 和 Windows 上播放。

如果我想将视频读OpenCV,我通常会首先将我的视频转换为 Cinepak(使用虚拟配音、quicktime 等),然后将其输入 OpenCV。我使用 Cinepak 是因为出于某种原因,Cinepak 编码器似乎比 MJPEG 编码器更普遍。

于 2009-11-03T16:03:11.260 回答
1

I don't think the problem is with OpenCV, I think it is with codecs, as you mentioned. I also don't think OpenCV comes with codecs... double check that you have the proper codecs installed under Windows.

Did you look at the documentation on video codecs?

于 2009-07-24T01:11:36.060 回答