【问题标题】:Video files and OpenCV视频文件和 OpenCV
【发布时间】:2014-04-10 09:50:45
【问题描述】:

我一直致力于从 IP 摄像机捕获并将流保存为视频。现在代码很简单,我制作了一个视频作者并正在保存视频。我正在为视频使用标准的 avi 容器。

当我们定义视频编写器时,我们还必须定义我们应该在保存视频时使用的编解码器。现在文档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 的编解码器并指定操作系统详细信息?如果它确实存在,那么我在哪里可以找到它?

【问题讨论】:

    标签: opencv video codec


    【解决方案1】:

    这个page 解释了它的工作原理:

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

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

    【讨论】:

    • 好的,那么如何将编解码器添加到我的系统?我的意思是我想使用 H.264,但我的系统上没有它。我该怎么办?
    • 对于实现H.264的x264,你可以去这里:sourceforge.net/projects/x264vfw
    • 好的,我现在在选项中得到它,但是如何使用 CV_FOURCC 选项应用它?
    • 你试过 CV_FOURCC('X','2','6','4') 吗?
    • 哦,是的!完毕!谢谢!
    猜你喜欢
    • 2012-04-13
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2013-06-28
    • 2017-05-17
    相关资源
    最近更新 更多