如何用Qt5.5使用gstreamer1.0而不是0.10?

时间:2018-03-18 13:45:46

标签: linux qt ubuntu-16.04 gstreamer qtmultimedia

我有一台笔记本电脑和一台电脑,我想测试Qt的Media Player example 在我的笔记本电脑上,一切正常,但在我的电脑上我有这样的信息:

  

找不到服务 - “org.qt-project.qt.mediaplayer”

我已经安装了Multimedia Dependencies,但它什么都没改变 所以我试图通过使用synaptic找到丢失的数据包,并且在两台计算机上,通过搜索Gstreamer得到相同的结果:
gstreamer synaptic 我还创建了两个文件来与这个命令进行比较:

apt list | grep inst > apt_list.txt
# and
apt list | grep inst > apt_list_laptop.txt
tkdiff apt_list.txt apt_list_laptop.txt

我找不到遗漏的东西,我请求你帮忙找到它。

修改
我使用QT_DEBUG_PLUGINS=1并在我拥有的计算机上运行程序:"QLibraryPrivate::loadPlugin failed on "/home/.../libgstmediaplayer.so"
它还说无法打开libgstaudio-0.10.so.0,但在笔记本电脑上它使用1.0 version 有效的是,当我写道:

ldd libgstmediaplayer.so

它在我的电脑上与gstreamer0.10相关联,在我的笔记本电脑上与1.0相关联

1 个答案:

答案 0 :(得分:0)

我找到了原因,这是因为QtCreator使用位于 /home/user/Qt/5.5/gcc_64/plugins/mediaservice/ 中的库,但是这些库使用了0.10版本的gstreamer:

  

<强> Qt Multimedia Module :   添加了GStreamer 1.0支持。请注意,默认值仍为0.10。

libqt5multimedia5-plugins包中的库使用1.0版本。因此,要在没有“no service”消息的情况下启动媒体播放器,我已使用命令行进行编译:

qmake player.pro && make

通过这种方式,qmake使用系统库而不是库位于Qt文件夹中。