相机使QQmlApplicationEngine加载非常慢

时间:2019-12-04 12:10:36

标签: c++ qt qml qtmultimedia

我有一个QML前端(在Ubuntu 18.04上为Qt 5.12)和一个QML Camera元素(QtMultimedia 5.12),用于显示来自USB摄像机/视频采集卡的视频实时流。没有Camera元素,该应用程序可以正常运行。但是,添加相机时,加载QQmlApplicationEngine需要几分钟(在功能强大的工作站上大约需要5分钟)。应用程序启动后,一切正常。

我实现了非常基本的示例,并搜索了类似的问题,但找不到任何东西。我检查了GStreamer版本1.0。

无论我尝试使用QML还是QtWidget版本,Camera示例都存在相同的问题。

这就是我在QML文件中所做的事情

VideoOutput {
    source: camera
    anchors.fill: parent

    Camera {
        id: camera
    }
}

为了暂时解决该问题,我尝试添加一个加载器(ApplicationWindow-> StackLayout-> ...-> Loader)。我希望除视频流外的所有其他元素都可以立即使用。但是,这只显示了ApplicationWindow,没有任何内容,我仍然需要等待,直到加载Camera。

Loader {
    id: loader 
    asynchronous: true
    anchors.fill: parent

    sourceComponent: Item {
        anchors.fill: parent
        Camera {
            id: camera
        }

        VideoOutput {
            source: camera
            anchors.fill: parent
        }
    }
}

我真的很想知道为什么这里没有按预期工作。

0 个答案:

没有答案