Qt 视频流应用程序:找不到 qt.mediaplayer 的服务
Qt video streaming application: no service found for qt.mediaplayer
我正在尝试制作一个非常简单的 QT QML 应用程序来流式传输来自以太网摄像机(Axis m3045v)的视频:
在 windows 10 下一切正常,但是一旦我将代码移植到 Debian 10 下,应用程序就无法显示视频流并返回此错误...
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
我已经按照其他类似问题中的建议安装了 gstreaming(GStreamer 核心库版本 1.16.1)和 libqt5multimedia5-plugins,没有得到任何结果
可能有一些非常基本的东西我仍然缺少,但作为 Linux 初学者,我在这里被屏蔽了
这里是 QML 代码:
import QtQuick 2.12
import QtQuick.Controls 2.5
import QtQuick.Window 2.12
import QtMultimedia 5.12
ApplicationWindow {
visible: true
title: qsTr("test")
width: 1920
height: 1080
Video {
id: videostream
source: "rtsp://user::password@my_ip_address/axis-media/media.amp"
autoPlay: true
autoLoad: true
anchors.top: parent.top
width: parent.width
height: parent.height
}
}
在此先感谢您的帮助
编辑:我在两个系统中都使用 QT Creator
好的
经过几次尝试,我想我发现了问题:
QT 在我的案例中是静态构建的,因此它需要显式导入所使用的插件。
检查完qt多媒体安装先决条件
https://doc.qt.io/qt-5/linux-requirements.html#multimedia-dependencies
并且需要所有 gstreaming 库
我在我的 .pro 文件中明确添加了多媒体插件(我以为 QTCreator 已经添加了所有需要的参考,但显然我错了...)
QT += multimedia multimediawidgets
现在看起来工作正常,终于
我正在尝试制作一个非常简单的 QT QML 应用程序来流式传输来自以太网摄像机(Axis m3045v)的视频: 在 windows 10 下一切正常,但是一旦我将代码移植到 Debian 10 下,应用程序就无法显示视频流并返回此错误...
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
我已经按照其他类似问题中的建议安装了 gstreaming(GStreamer 核心库版本 1.16.1)和 libqt5multimedia5-plugins,没有得到任何结果
可能有一些非常基本的东西我仍然缺少,但作为 Linux 初学者,我在这里被屏蔽了
这里是 QML 代码:
import QtQuick 2.12
import QtQuick.Controls 2.5
import QtQuick.Window 2.12
import QtMultimedia 5.12
ApplicationWindow {
visible: true
title: qsTr("test")
width: 1920
height: 1080
Video {
id: videostream
source: "rtsp://user::password@my_ip_address/axis-media/media.amp"
autoPlay: true
autoLoad: true
anchors.top: parent.top
width: parent.width
height: parent.height
}
}
在此先感谢您的帮助
编辑:我在两个系统中都使用 QT Creator
好的 经过几次尝试,我想我发现了问题: QT 在我的案例中是静态构建的,因此它需要显式导入所使用的插件。 检查完qt多媒体安装先决条件
https://doc.qt.io/qt-5/linux-requirements.html#multimedia-dependencies
并且需要所有 gstreaming 库
我在我的 .pro 文件中明确添加了多媒体插件(我以为 QTCreator 已经添加了所有需要的参考,但显然我错了...)
QT += multimedia multimediawidgets
现在看起来工作正常,终于