我可以在没有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会话。
欢迎任何见解。
答案 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) )
然后,我重新安装了ffmpeg
和gstreamer
以及所有依赖项,并使用make -j8
重新编译。 sudo make install
。就是这样。
现在我使用OpenCV将IP Camera流式传输到我的Mac!
编辑:对于上下文,这是OpenCV 2.4.3-rc和Mac OS X 10.8。