c++ - 相机使 QQmlApplicationEngine 加载很慢
问题描述
我有一个 QML 前端(Ubuntu 18.04 上的 Qt 5.12)和一个 QML 相机元素(QtMultimedia 5.12)来显示来自 USB 相机/视频采集器的视频直播流。该应用程序在没有相机元素的情况下工作得很好。但是,当添加相机时,加载 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
}
}
}
我真的很想知道为什么这里没有按预期工作。
解决方案
推荐阅读
- ios - GetViewForAnnotation 在加载自定义后返回默认红色引脚
- azure - Azure Devops 管道 PublishBuildArtifact 任务错误容器找不到
- javascript - javascript 如何更新 DOM 中的元素?
- python - 使用 python bdist_rpm 时如何包含要求
- python - 当标签的大小发生变化时,窗口的大小也会在 tkinter、python 中发生变化
- sed - sed 替换字符串以特殊字符开头
- django - 当我指定html表单操作时,Django FormView方法'form_valid()'不起作用
- python - 更改嵌入的页脚
- docker - 带有docker卷的maven存储库映射不起作用
- python - 是否可以使用脚本编辑 elasticsearch.yml 文件