我对 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 绑定没有简单的答案,但我会非常感谢任何帮助