【问题标题】:OpenCV 2.4.7 with FFMpeg support build with VS 2010 (x86)带有 FFMpeg 支持的 OpenCV 2.4.7 与 VS 2010 (x86) 一起构建
【发布时间】:2013-11-22 10:49:27
【问题描述】:

我与新版本的 OpenCV 2.4.7 斗争了将近一周(之前使用的是 2.4.2)。我对新设置的动机是我在使用 Videowriter 处理未压缩的灰度视频时遇到了问题 (http://answers.opencv.org/question/3603/videowriter-videocapture-and-uncompressed-avi/)。在https://github.com/Itseez/opencv/pull/1516 "akarsakov" 建议在不支持 vfw 的情况下构建 OpenCV,并通过 ffmpeg 打开未压缩的视频。这就是我试图做的。我基本上遵循了这个视频中提到的说明:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html

我已经使用 Qt 5.1.1 (http://answers.opencv.org/question/24184/how-to-compile-opencv-247-with-qt-and-ffmpeg/) 成功构建了 opencv。但我无法让 VideoWriter & VideoCapture 为我工作。所以我做了什么:

  1. 我从http://ffmpeg.zeranoe.com/builds/下载了最新的ffmpeg构建

  2. 我生成了禁用 VfW 并启用 ffmpeg 的 vs2010 项目:

    Video I/O:
    
    Video for Windows:           NO
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      YES (prebuilt binaries)
      codec:                     YES (ver 55.18.102)
      format:                    YES (ver 55.12.100)
      util:                      YES (ver 52.38.100)
      swscale:                   YES (ver 2.3.100)
      gentoo-style:              YES
      OpenNI:                    NO
    OpenNI PrimeSensor Modules:  NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    DirectShow:                  YES
    Media Foundation:            NO
    XIMEA:                       NO
    
  3. 我将 ffmpeg 的包含目录和库添加到 highgui 模块中。

我无法在没有任何错误的情况下编译 OpenCV,但我看到的行为不是我所期望的:

  1. 在没有 VfW 的情况下构建 OpenCV 2.4.7 -> VideoWriter.open () 总是返回 false!
  2. 使用 VfW 构建 OpenCV 2.4.7 -> VideoWriter.open () 暂时返回 true,在同一对象上调用 release() 和 open() 始终返回 false。
  3. 使用或不使用 ffmpeg -> VideoCapture.open () 会给出错误消息,要求使用 libiconv-2dll!

是否有些人有同样的问题并且能够指出我的错误?

提前谢谢你。 干杯

【问题讨论】:

标签: c++ opencv video ffmpeg


【解决方案1】:

OpenCV 2.4.7 需要更新版本的 FFmpeg 才能工作,但这似乎不是问题,因为您已经涵盖了。

问题的原因可能是bug #2281VideoCapture::read fails on uncompressed video

作为中间解决方案,我建议你降级到 OpenCV 2.4.5。

【讨论】:

  • 非常感谢您的重播。我想目前没有其他出路。这很烦人,因为这个 bug 与 pull request 1516 (github.com/Itseez/opencv/pull/1516) 合并了,我做了更新:-S。无论如何,谢谢。欢呼
猜你喜欢
  • 2017-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 2010-12-01
相关资源
最近更新 更多