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

时间:2013-01-16 03:13:41

标签: macos opencv compilation gstreamer ip-camera

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

问题是,即使我通过Macports安装了以下库,但cmake似乎没有选择gstreamer:

    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用于Apexis IP Camera,它通过HTTP提供视频。使用Gstreamer,我能够在Ubuntu 12.10服务器版本上构建---并且IP摄像头可以工作---但我希望能够在我的Mac上进行GUI会话。

欢迎任何见解。

1 个答案:

答案 0 :(得分:0)

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

出于某种原因,Mac上的OpenCV列入黑名单的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 -j8重新编译。 sudo make install。就是这样。

现在我使用OpenCV将IP Camera流式传输到我的Mac!

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