【问题标题】:How to use qt-gstreamer with qtquick2videosink on Qt5 on Raspberry Pi3如何在 Raspberry Pi3 上的 Qt5 上使用 qt-gstreamer 和 qtquick2videosink
【发布时间】:2020-02-20 02:12:31
【问题描述】:

我从 GitHub(版本 1.2.0)上的源代码构建了 qt-gstreamer。然后我尝试在 Raspberry Pi3 上的 qt5 上运行 qmlplayer2 应用程序(由 qt-gstreamer 构建并使用 qtquick2videosink),但在运行时出现以下错误:

(gst-plugin-scanner:3749): GStreamer-WARNING **: 加载插件失败 '/usr/lib/gstreamer-0.10/libgstqt5videosink.so': /usr/lib/gstreamer-0.10/libgstqt5videosink.so:未定义符号: _Z33gst_qt_quick2_video_sink_get_typev 未能创建 qtquick2videosink。确保安装正确

(qmlplayer2:8517): GStreamer-CRITICAL **: gst_bin_add: 断言 “GST_IS_ELEMENT(元素)”失败

(qmlplayer2:8517): GStreamer-CRITICAL **: gst_element_link_pads_filtered:断言“GST_IS_ELEMENT(dest)” 失败

【问题讨论】:

    标签: qt5 raspberry-pi3 gstreamer qtgstreamer


    【解决方案1】:

    查看qt-gstreamer的源码,我发现gst_qt_quick2_video_sink_get_type()函数是在gstqtquick2videosink.cpp中实现的,但是由于cmake中缺少与OpenGL相关的配置,这个文件没有被编译。

    我将 cmake 配置如下:

    然后重建并将新文件 libgstqt5videosink.so 部署到目标设备上的 /usr/lib/gstreamer-0.10/libgstqt5videosink.so。之后 qmlplayer2 应用程序工作正常。

    【讨论】:

    • "配置如下"... 抱歉,但是如何配置?你忘了写你的配置吗
    • 感谢您的快速回复,但我仍然遇到困难。我不知道如何在 cmake 中更新这些变量。我是一个 cmake 新手。我使用 buildroot,在配置阶段后我可以在 CMakeCache.txt 中看到上述变量,但我不认为这是更新它们的正确方法。请建议最好的文件来更新路径。谢谢
    • @DMcAttach 你应该使用 Cmake GUI 而不是命令行来轻松配置这些变量
    • 感谢更新和修复。我修补了 CMakeLists.txt 以添加我的路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多