【问题标题】:Qt camera example does not find the laptop's webcamQt 摄像头示例找不到笔记本电脑的网络摄像头
【发布时间】:2015-08-20 23:58:17
【问题描述】:

我正在使用 Debian Jessie,dmesg | grep video 返回:

[   22.280407] Linux video capture interface: v2.00
[   22.790704] uvcvideo: Found UVC 1.00 device Lenovo EasyCamera (13d3:5170)
[   22.796546] usbcore: registered new interface driver uvcvideo

该示例编译良好,但在启动时我得到一个对话框,告诉我相机服务丢失。我正在使用 Qt 5.5.0。 This question 指出了类似的问题,但它适用于 Windows。此外,我还使用其网站上提供的安装程序安装了 Qt。我已经用Cheese 应用程序测试了我的网络摄像头,它可以工作,但QCameraInfo::availableCameras() 什么也没返回。

【问题讨论】:

    标签: c++ qt debian webcam


    【解决方案1】:

    我不知道这是否是一个确定的答案,但根据我的经验,可怕的“缺少相机服务”归结为消息所说的内容;出于某种原因,Qt 用于从摄像机获取视频输入的媒体后端在某种程度上被损坏或配置错误。就我而言,我在以下情况下遇到了这个问题:

    1.从源代码构建 Qt

    Qt 构建系统静默禁用功能,如果您没有将它们包含在构建中所需的所有依赖项。请务必针对您的平台仔细阅读this official article。我已经记不清有多少次这毁了我的,而不仅仅是多媒体模块...

    2。我的 Ubuntu 上缺少一些 gstreamer 包

    我主要为 Linux 和 Debian 开发,在这些平台上 Qt 依赖于 gstreamer 后端。 gstreamer 基本上是一个核心的插件架构,每个功能都作为插件添加,并且通过配置文件进行手动干预的可能性无穷无尽。看看这是怎么回事?提示:确保您已正确安装和配置所有要安装的插件。这是您可以使用的一些gstreamer tools 的链接。其他平台上的其他后端可能也是如此。

    最后还有一个专业提示:因为Qt5.5gstreamer0.1(旧)和gstreamer1.0(新)都支持作为后端,并且因为Qt5.6 是默认的。这将为您提供一些试验空间,例如如果旧的不起作用,您可以尝试新的等。

    希望这很有用!

    【讨论】:

    • 我注意到在目标系统上您还需要安装 libqt5multimedia5-plugins
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多