在Mac OS X 10.8上使用gstreamer编译OpenCV 2.4.3-rc



我可以在没有gstreamer的Mac上编译OpenCV。

问题是,gstreamer似乎没有被cmake拾取,即使我通过Macports安装了以下库:

    ffmpeg-devel                   @20121205       multimedia/ffmpeg-devel
    ...
    gst-ffmpeg                     @0.10.13        gnome/gst-ffmpeg
    gst-plugins-bad                @0.10.23        gnome/gst-plugins-bad
    gst-plugins-base               @0.10.36        gnome/gst-plugins-base
    gst-plugins-gl                 @0.10.3         gnome/gst-plugins-gl
    gst-plugins-good               @0.10.31        gnome/gst-plugins-good
    gst-plugins-math               @0.1.0          science/gst-plugins-math
    gstreamer                      @0.10.36        gnome/gstreamer

我的cmake生成日志看起来像这样(大部分省略):

    --   Video I/O:
    --     DC1394 1.x:                  NO
    --     DC1394 2.x:                  YES (ver 2.1.3)
    --     FFMPEG:                      YES
    --       codec:                     YES (ver Unknown)
    --       format:                    YES (ver Unknown)
    --       util:                      YES (ver Unknown)
    --       swscale:                   YES (ver Unknown)
    --       gentoo-style:              YES
    --     OpenNI:                      NO
    --     OpenNI PrimeSensor Modules:  NO
    --     PvAPI:                       NO
    --     GigEVisionSDK:               NO
    --     QuickTime:                   NO
    --     QTKit:                       YES

可以看到,生成的日志中不存在gstreamer

我正在尝试使用OpenCV apex IP摄像机,它通过HTTP提供视频馈送。有了Gstreamer,我可以在Ubuntu 12.10服务器版上构建——IP摄像机也可以工作——但我更希望能够在我的Mac上有一个GUI会话。

感谢@yiding,我发现了这个问题。

由于某些原因,OpenCV将Mac上的gstreamer列入黑名单。我能够通过简单地改变cmake配置(CMakeLists.txt)来解除黑名单。

改变
OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )

OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT ANDROID) )

然后,我重新安装了ffmpeggstreamer以及所有依赖项,并重新编译了make -j8sudo make install

现在我有IP摄像机流到我的Mac使用OpenCV!

Edit:对于上下文,这是OpenCV 2.4.3-rc和Mac OS X 10.8。

相关内容

  • 没有找到相关文章

最新更新