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

现在看起来工作正常,终于