错误:您的 GStreamer 安装缺少插件:使用 QML 应用程序部署 Gstreamer 插件

时间:2021-04-19 14:03:01

标签: qt deployment qml gstreamer

我正在尝试为一个同时播放音频和视频的 QML 应用程序创建一个包,但我被困在 GStreamer 插件上。我使用 cqtdeployer 来创建这个分发包。该工具精美地收集了可执行文件所需的库和 (qml) 插件。但是,即使我增加递归深度,它也无法检测到某些库,例如 GStreamer 及其插件。

如果我从 gstreamer1.0-libav 安装 apt 视频和音频会播放。但是,我将离线部署这个包。

我检查了这个包 https://packages.ubuntu.com/xenial/gstreamer1.0-libav 的内容,它包含的唯一共享库是 libgstlibav.so,我还将它复制到我的 lib/ 文件夹中。还在我的开发环境中安装了 gstreamer1.0-plugins-base,并将 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/ 下的所有内容也复制到我的应用程序的 lib/ 文件夹中。

当我尝试在虚拟机上运行该软件时,单独播放音频,但视频无法播放并出现以下错误: Warning: "No decoder available for type 'video/x-h264, stream-format=(string)main, codec_data..

当我尝试播放视频时也会发出类似的音频警告:"Warning: No decoder available for 'audio/mpeg, mpegversion=(int)4.. 等。但我想这是关于视频的播放音频。因为正如我所说,我可以单独播放音频。

提前感谢您的任何帮助。如果有帮助,我可以分享我的软件随附的丑陋库列表。

1 个答案:

答案 0 :(得分:1)

检查 https://gstreamer.freedesktop.org/documentation/gstreamer/running.html?gi-language=c。特别是GST_PLUGIN_PATH,您可以设置一个目录来扫描插件。

请注意,插件确实是插件。它们被及时扫描和运行。这也是没有 qtdeploy 脚本等可以检测潜在丢失插件的原因。插件的使用是通过名称完成的,而不是实际上将它们链接到应用程序。

相关问题