在OpenCV中创建AVI文件

时间:2009-07-16 11:39:08

标签: video opencv

我一直在尝试使用OpenCV和Visual Studio 2008创建应用程序,从网络摄像头捕获图像,对它们应用过滤器,然后将它们写入AVI文件。 一切都有效,除了创建AVI文件。

问题是它可以在我的计算机上运行,​​但它不能在我同事的计算机上运行。之所以(我认为)是因为他没有必要的视频编码器供OpenCV使用。

cvCreateVideoWriter函数不返回NULL,但我最终在磁盘上有一个0kb文件。

3 个答案:

答案 0 :(得分:20)

为什么不测试所有编解码器,以便进行保存:

CV_FOURCC('P','I','M','1')    = MPEG-1 codec

CV_FOURCC('M','J','P','G')    = motion-jpeg codec (does not work well)

CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec

CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec

CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec

CV_FOURCC('U', '2', '6', '3') = H263 codec

CV_FOURCC('I', '2', '6', '3') = H263I codec

CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec

编解码器代码-1将打开编解码器选择窗口(在Windows中)。

答案 1 :(得分:3)

在OpenCV 3.0.0中,ffmpeg的readme.txt说

“还有我们独立的动作jpeg编解码器,您可以毫无后顾之忧地使用它。 它处理AVI容器(“。avi”)中的CV_FOURCC('M','J','P','G')流。“

(来源\的3rdParty \的ffmpeg \ README.TXT)

-1和cv :: VideoWriter :: fourcc('M','J','P','G')是唯一适用于Windows 8.1的选项。

答案 2 :(得分:1)

问题是我的同事安装了旧版本的OpenCV。如果我使用新的OpenCV它有一个编码器,它完成了所有的工作。