Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gstreamer支持Raspberry Pi上的Qt5_Qt_Raspberry Pi_Gstreamer - Fatal编程技术网

Gstreamer支持Raspberry Pi上的Qt5

Gstreamer支持Raspberry Pi上的Qt5,qt,raspberry-pi,gstreamer,Qt,Raspberry Pi,Gstreamer,我需要播放Raspberry Pi上部署的Qt项目的音频。一切正常,除了我没有得到任何音频输出,而是得到以下错误消息 defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" 在谷歌搜索之后,我得出结论,问题在于Qt(更准确地说是gst omx)没有安装和识别Gstreamer。而且,我已经尝试了很多天在Raspberry Pi上正确安装gst omx,但运气

我需要播放Raspberry Pi上部署的Qt项目的音频。一切正常,除了我没有得到任何音频输出,而是得到以下错误消息

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
在谷歌搜索之后,我得出结论,问题在于Qt(更准确地说是gst omx)没有安装和识别Gstreamer。而且,我已经尝试了很多天在Raspberry Pi上正确安装gst omx,但运气不太好。 谁能指导我如何解决这个问题


一个黑客当然只是使用一个外部应用程序来播放像mpeg321这样的音频,然后通过QProcess启动它,但我需要控制音量并能够启动、停止和暂停,所以这样的解决方案不是真正可行的…

简短回答:哦,伙计,你找到了很多人找到的东西。Qt不会像那样和覆盆子皮一起工作。您可以让它工作,但如果不加速解码,它将以尽可能慢的速度运行,并每隔几秒钟崩溃一次。对不起

长答案#1:需要使用特殊例程编译Qt,以便访问omx内容。也就是说,访问嵌入板中的专用硬件,该板处理h.264(其他一些)文件的加速解码

您有两个选择,一个是从这里构建一个特殊的模块:或者您可以得到一个烘焙的Raspbian图像,其中包含从这里编译的所有内容:。如果您是这方面的新手,构建它可能会给您带来非常困难的时间,但您将获得相当稳定的代码、选择的Qt和最新的raspbian。另一方面,预编译映像只需下载、刻录和运行,非常简单!,但是它有一些旧的代码,所以它有一些粗糙的边缘,它有点不稳定(我尝试过的几乎每一个视频都在前2-3秒显示混乱,并且不时出现崩溃),而且你也会得到Qt5.1.2,没有Qt5.2.x中添加的一些加速

长答案#2:确实存在gst omx库,它们应该可以与Qt一起工作,并且应该更加稳定,我从未测试过它们。但是你可以自己检查一下谷歌:Qt贝拉吉奥,我试图为他们发布链接,但没有足够的代表。你将不得不建立自己的Qt顺便说一句

更新: 如果您需要的是视频播放,我忘了提到Pi的Boot2Qt,但您必须向Digia支付许可证费用。它被称为Qt Enterprise Embedded,google It