文章目录
- 前言
- 一、识别 usb 摄像头
- 二、安装应用程序显示摄像头捕捉到的视频
- 1、使用应用程序茄子(cheese)
- 2、运行 cheese 捕捉视频
- 总结
前言
记录一下解决在 Linux 下打开 usb 摄像头界面黑屏的问题。
一、识别 usb 摄像头
1、保持在 ubuntu 界面,插上 usb 摄像头,将 usb 摄像头连接到虚拟机上。
2、使用 dmesg 命令可以看到设备接入时的打印信息
Gnep@lpvm:~$ sudo dmesg
[168141.518252] usb 1-1: new high-speed USB device number 9 using ehci-pci
[168141.868678] usb 1-1: New USB device found, idVendor=1e4e, idProduct=0110, bcdDevice= 1.01
[168141.868688] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[168141.868693] usb 1-1: Product: USB2.0 Camera
[168141.868699] usb 1-1: Manufacturer: Etron Technology, Inc.
[168141.881822] usb 1-1: Found UVC 1.00 device USB2.0 Camera (1e4e:0110)
[168141.915224] input: USB2.0 Camera: USB2.0 Camera as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/input/input12
可以看到我们刚接入的摄像头它的 VID:PID 是 1e4e:0110,这里的 ID 号可以在 UVC 官方的文档中进一步确定是否被支持。绿勾代表支持。
注:UVC(USB Video Class),即:USB 视频类,是一种为 USB 视频捕获设备定义的协议标准。是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准,已成为 USB org 标准之一。
翻了一下,发现没有我目前这个摄像头的 ID 号。
翻看了一下所支持的设备,这里有一条这样的提示:下表列出了已知的 UVC 设备,其他符合 UVC 标准的视频输入设备很可能得到支持了,如果您的 UVC 设备未在下面列出,请向 Linux 媒体开发邮件列表报告。我在用的这个 usb 摄像头已经是老革命了,10 年前的产物,这里先不管了,继续下面的操作。
3、使用下面命令查看设备节点
ls /dev/video*
Gnep@lpvm:~$ ls /dev/video*
/dev/video0 /dev/video1
这里 video0 是笔记本自带的摄像头的设备节点,video1 才是我们刚接入的 usb 摄像头。
二、安装应用程序显示摄像头捕捉到的视频
1、使用应用程序茄子(cheese)
sudo apt-get install cheese
2、运行 cheese 捕捉视频
输入 cheese 命令捕捉视频。
cheese 命令显示黑屏了
解决方法:
①、查看虚拟机是否已经连接上了摄像头,虚拟机 -> 可移动设备 -> Cubeternet USB2.0 Camera,显示断开连接(连接主机)(D)则虚拟机已连接上摄像头。
②、修改 video1 的权限,如果 /dev/video1 已经是 777 权限则不用修改。
③、确认是否有 webCam,没有则安装 webCam。
④、如果以上操作都确认完成以后还是打不开摄像头,如果 USB 兼容性默认为 USB 2.0 则换成 USB 3.1。
重新插拔设备。
再次输入 cheese,查看结果。
现在可以正常显示了