1

我对 Gstreamer 的 Qt 绑定有疑问。我使用 QtGStreamer 包中的自述文件中的程序,但在执行 cmake 命令时出现一些错误。

基本信息:

    Mac OS X v. 10.6.8
    GStreamer v. 0.10.36 + 依赖项(通过 MacPorts 安装)
    Cmake v. 2.8.10 + 依赖项(通过 MacPorts 安装)
    Boost v. 1.52.0 + 依赖项(通过 MacPorts 安装)
    Qt v 4.8(通过 SDK 安装程序安装)

建议的构建过程:

    $ mkdir 构建 && cd 构建
    $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/installation/prefix
    $ 制作
    $ 进行安装

cmake的结果:

    $ cmake .. -DCMAKE_INSTALL_PREFIX=/tmp1/install
    -- C 编译器标识为 GNU 4.2.1
    -- CXX 编译器标识为 GNU 4.2.1
    -- 检查C编译器是否有-isysroot
    -- 检查C编译器是否有-isysroot - yes
    -- 检查 C 编译器是否支持 OSX 部署目标标志
    -- 检查 C 编译器是否支持 OSX 部署目标标志 - 是
    -- 检查工作的 C 编译器:/usr/bin/cc
    -- 检查工作的 C 编译器:/usr/bin/cc -- 工作
    -- 检测 C 编译器 ABI 信息
    -- 检测 C 编译器 ABI 信息 - 完成
    -- 检查CXX编译器是否有-isysroot
    -- 检查CXX编译器是否有-isysroot - yes
    -- 检查 CXX 编译器是否支持 OSX 部署目标标志
    -- 检查 CXX 编译器是否支持 OSX 部署目标标志 - 是
    -- 检查工作的 CXX 编译器:/usr/bin/c++
    -- 检查工作的 CXX 编译器:/usr/bin/c++ -- 工作
    -- 检测 CXX 编译器 ABI 信息
    -- 检测 CXX 编译器 ABI 信息 - 完成
    -- 寻找 Q_WS_X11
    -- 寻找 Q_WS_X11 - 未找到
    -- 寻找 Q_WS_WIN
    -- 寻找 Q_WS_WIN - 未找到
    -- 寻找 Q_WS_QWS
    -- 寻找 Q_WS_QWS - 未找到
    -- 寻找 Q_WS_MAC
    -- 寻找 Q_WS_MAC - 找到
    -- 寻找 QT_MAC_USE_COCOA
    -- 寻找 QT_MAC_USE_COCOA - 找到
    -- 找到 Qt4:/opt/local/bin/qmake(找到版本“4.8.4”)
    -- 增强版:1.52.0
    -- 找到 PkgConfig:/opt/local/bin/pkg-config(找到版本“0.27.1”)
    -- 检查模块“gstreamer-0.10”
    -- 找到 gstreamer-0.10,版本 0.10.36
    -- 检查模块“gstreamer-base-0.10”
    -- 找到 gstreamer-base-0.10,版本 0.10.36
    -- 找到 GSTREAMER_BASE_LIBRARY:/opt/local/lib/libgstbase-0.10.dylib
    -- 找到 GSTREAMER_BASE_INCLUDE_DIR:/Library/Frameworks/GStreamer.framework/Headers/gst/base
    -- 找到 GStreamer:/opt/local/lib/libgstreamer-0.10.dylib(要求至少版本“0.10.33”)
    -- 检查模块“gstreamer-plugins-base-0.10”
    -- 未找到包“gstreamer-plugins-base-0.10”
    -- 检查模块“gstreamer-app-0.10”
    -- 未找到包“gstreamer-app-0.10”
    -- 找不到 GSTREAMER_APP_LIBRARY
    -- 找到 GSTREAMER_APP_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/app
    -- 检查模块“gstreamer-interfaces-0.10”
    -- 未找到包“gstreamer-interfaces-0.10”
    -- 找不到 GSTREAMER_INTERFACES_LIBRARY
    -- 找到 GSTREAMER_INTERFACES_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/interfaces
    -- 检查模块“gstreamer-video-0.10”
    -- 未找到包“gstreamer-video-0.10”
    -- 找不到 GSTREAMER_VIDEO_LIBRARY
    -- 找到 GSTREAMER_VIDEO_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/video
    -- 找不到 GStreamerPluginsBase(缺少:GSTREAMER_APP_LIBRARY GSTREAMER_INTERFACES_LIBRARY GSTREAMER_VIDEO_LIBRARY)(至少需要版本“0.10.33”)
    -- 检查模块“glib-2.0”
    -- 找到 glib-2.0,版本 2.34.3
    -- 找到 GLIB2:/opt/local/lib/libglib-2.0.dylib  
    -- 检查模块“gobject-2.0”
    -- 找到 gobject-2.0,版本 2.34.3
    -- 找到 GObject:/Library/Frameworks/GStreamer.framework/Headers/gobject  
    -- 找到 OpenGL:/System/Library/Frameworks/OpenGL.framework  
    -- 找不到 OpenGLES2(缺少:OPENGLES2_INCLUDE_DIR OPENGLES2_LIBRARY)
    -- 找不到 Doxygen(缺少:DOXYGEN_EXECUTABLE)

    -------------------------------------------------- --------------------------
    -- 以下外部软件包位于您的系统上。
    -- 此安装将具有这些软件包提供的额外功能。
    -------------------------------------------------- --------------------------- * Qt 4 - 构建所有内容所必需 * QtOpenGL - qtvideosink 和 QtGStreamerUi 中的 OpenGL 加速所必需 * QtDeclarative - 必需用于构建 QML 支持 * Boost - 构建 QtGLib 所需 * GStreamer - 构建 QtGStreamer 所需 * GStreamer 基础库 - 用于构建 qwidgetvideosink 元素 * GLib - 构建 QtGLib 所需 * GObject - 构建 QtGLib 所需 * OpenGL - OpenGL 渲染所需支持 qtvideosink(仅限桌面)

    -------------------------------------------------- --------------------------
    -- 下列可选包无法在您的系统中找到。
    -- 考虑安装它们以启用该软件的更多功能。
    -------------------------------------------------- --------------------------- * GStreamer 视频库(0.10.33 或更高版本)  
         用于构建 qwidgetvideosink 元素 * OpenGLES(2.0 或更高版本)  
         qtvideosink 中的 OpenGLES 渲染支持需要(仅限嵌入式)* Doxygen  
         用于生成 API 文档

    -------------------------------------------------- --------------------------
    -- 您的系统上找不到以下必需的软件包。
    -- 在继续之前,您必须安装这些软件包。
    -------------------------------------------------- --------------------------- * GStreamer 应用程序库(0.10.33 或更高版本)  
         需要构建 QtGStreamerUtils * GStreamer 接口库(0.10.33 或更高版本)  
         需要构建 QtGStreamer

    -------------------------------------------------- --------------------------

    cmake/modules/MacroLogFeature.cmake:141 (MESSAGE) 处的 CMake 错误:退出:缺少要求调用堆栈(最近调用优先):CMakeLists.txt:152 (macro_display_feature_log)


    CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND。请设置它们或确保它们在 CMake 文件中正确设置和测试:GSTREAMER_APP_LIBRARY (ADVANCED)
        由目录/Users/madman/Downloads/RELEASE-0.10.2/src/QGst GSTREAMER_INTERFACES_LIBRARY(高级)中的目标“QtGStreamerUtils”链接
        由目录 /Users/madman/Downloads/RELEASE-0.10.2/src/QGst 中的目标“QtGStreamer”链接

    -- 配置不完整,出现错误!

我需要这个绑定来开发一个从闭路电视摄像机播放 MJPEG/ASF 流的应用程序。我已经尝试过 libvlc 但是没有简单的方法来捕获已经显示的流...... GStreamer 是唯一的选择,因为它将是跨平台应用程序

我对 C++/Qt 编程相当陌生,整个构建/编译魔法对我来说仍然有点令人困惑......

我知道如何构建 QtGstreamer 绑定没有简单的答案,但我会非常感谢任何帮助

4

0 回答 0