【问题标题】:Qt video streaming application: no service found for qt.mediaplayerQt 视频流应用程序:未找到 qt.mediaplayer 的服务
【发布时间】:2019-10-18 14:49:35
【问题描述】:

我正在尝试制作一个非常简单的 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

【问题讨论】:

    标签: c++ linux qt debian video-streaming


    【解决方案1】:

    好的 经过几次尝试,我猜想是这个问题: 在我的情况下,QT 是静态构建的,因此它需要显式导入使用的插件。 检查qt多媒体安装先决条件后

    https://doc.qt.io/qt-5/linux-requirements.html#multimedia-dependencies

    以及所有需要的 gstreaming 库

    我在我的 .pro 文件中明确添加了多媒体插件(我以为 QTCreator 已经添加了所有需要的引用,但显然我错了......)

    QT += multimedia multimediawidgets
    

    现在看来终于可以正常工作了

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2015-07-15
      • 2013-05-19
      • 2020-12-20
      • 2011-01-19
      • 1970-01-01
      相关资源
      最近更新 更多