0

我从 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)”失败

4

1 回答 1

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 应用程序工作正常。

于 2020-02-20T02:12:31.693 回答