2013-01-16 68 views
0

我可以在沒有gstreamer的Mac上編譯OpenCV。在Mac OS X上使用gstreamer編譯OpenCV 2.4.3-rc 10.8

的問題是,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用於Apexis IP攝像機,該攝像機通過HTTP提供視頻輸入。藉助Gstreamer,我可以在Ubuntu 12.10服務器版上構建---而IP攝像機的工作原理---但我更喜歡能夠在我的Mac上進行GUI會話。

任何見解都是值得歡迎的。

+1

您可能需要配置cmake以查看macports安裝庫的pkgconfig,include和lib路徑。 – yiding

+0

@yiding我會怎麼做? –

+0

第二次檢查時,我剛剛在我的'CMakeLists.txt'中看到'OCV_OPTION(WITH_GSTREAMER「包括Gstreamer支持」ON IF(UNIX AND NOT APPLE AND NOT ANDROID)「)。也許它被列入黑名單。要試試這個。 –

回答

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。就是這樣。

現在我有IP Camera使用OpenCV流媒體到我的Mac!

編輯:對於上下文,這是OpenCV 2.4.3-rc和Mac OS X 10.8。