Qt相机示例找不到笔记本电脑的网络摄像头

时间:2015-08-20 23:58:17

标签: c++ qt debian webcam

我使用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问题指向类似的问题,但它适用于Windows。我还使用其网站上提供的安装程序安装了Qt。我已使用Cheese应用程序对我的网络摄像头进行了测试,但有效但QCameraInfo::availableCameras()没有返回任何内容。

1 个答案:

答案 0 :(得分:0)

我不知道这是否是一个明确的答案,但根据我的经验,可怕的相机服务缺失了#34;归结为消息所说的内容;出于某种原因,Qt用于从摄像机获取视频输入的媒体后端以某种方式被破坏或错过配置。在我的情况下,我在以下情况下遇到了这个问题:

<强> 1。从源

构建Qt

Qt构建系统沉默禁用功能如果您没有将其包含在构建中所需的所有依赖项。请务必仔细阅读您的平台this official article。我失去了数次这已经破坏了我的&lt;插入最喜欢的时间段,例如日/周/年这里&gt; ,而不仅仅是多媒体模块......

<强> 2。在我的Ubuntu上遗漏了一些gstreamer包

我为Linux&amp; amp;主要是Debian,在这些平台上,Qt依赖于gstreamer后端。 gstreamer基本上是一个核心插件架构,每个功能都作为插件添加,并且通过配置文件进行手动干预的无限可能性。看看这是怎么回事?线索:确保您已安装并正确配置了所有插件。以下是您可以使用的某些gstreamer tools的链接。同样可能适用于其他平台上的其他后端。

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

希望这很有用!