我正在 Macbook Air m1 上的 Asahi Linux 上开发一个项目,并尝试了 qml 文件中的 Camera 类。 尝试使用 qqmlapplicationengine 在 pyside 6 中加载 qml
.........
CaptureSession {
camera: Camera {
id: camera
focusMode: Camera.FocusModeAutoNear
customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner
}
videoOutput: videoOutput
}
VideoOutput {
id: videoOutput
anchors.fill: parent
}
}
.......
显示以下错误:
No QtMultimedia backends found. Only QMediaDevices, QAudioDevice, QSoundEffect, QAudioSink, and QAudioSource are available.
Failed to initialize QMediaCaptureSession "Not available"
Failed to initialize QCamera "Not available"
Failed to create QVideoSink "Not available"
我见过类似的帖子谈论相同的问题,但不是在 asahi linux 中。从这些文章中,我尝试将 pyside6 降级到较低版本(从 6.8 降级为 6.7.0),但没有成功。
如果这是发行版提供的版本,则他们可能尚未构建后端。使用 QT_DEBUG_PLUGINS 变量来获取更多信息。
在这种情况下,您可能想自己构建 qtmultimedia,或者完全构建 Qt。确保在 qtmultimedia 模块的配置过程中找到 ffmpeg 库。它可能不提供硬件解码器/编码器,但您可以获得软件实现。
请注意,我不拥有该系统,所以我无法尝试。