2014-03-07 43 views
1

我一直在努力从网络摄像机捕捉和保存流作为视频。现在代码很简单,我制作了一个视频编写器并保存了视频。我正在使用视频的标准avi容器。视频文件和OpenCV

当我们定义视频的作家,我们还必须定义,我们应该同时节省了视频使用的编解码器。现在,该文件here指定的编解码器的列表如下:

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 

但在使用它们,我们正在对视频文件是不妥当的。它的大小为0,所以进一步检查,我发现了编解码器必须在系统上安装和OpenCV的版本也必须与编解码器兼容。此外,可以应用的编解码器取决于正在使用的操作系统。

我的操作系统是Windows 7和OpenCV的版本是2.4.6。

问题: 是否有一个文档或指定可以与OpenCV中的每个版本中使用的编解码器,并指定操作系统细节的网页?如果确实存在,我可以在哪里找到它?

回答

1

page解释它的工作原理:

此外,如果传递的参数减一,一个窗口将包含安装在系统上的所有编解码器运行时弹出,并要求您选择要使用的一个:

outputVideo.open(NAME, -1, inputVideo.get(CAP_PROP_FPS), S, true); 

enter image description here

+0

好了,让我怎么编解码器添加到我的系统?我的意思是我想使用H.264,但它不在我的系统上。我该怎么办? –

+0

对于它实现了H.264,你可以去这里的x264:http://sourceforge.net/projects/x264vfw/ –

+0

好吧,我现在得到它的选项,但使用CV_FOURCC选项如何申请? –