1

我以前问过这个问题。但我试图在再次发布之前做更多的研究。这是问题:

我已经在以 Windows 7 作为主机的 VMWare 6.0 上安装了 Ubuntu 12.04。我正在尝试在 Ubuntu 上访问我的网络摄像头,但我只是偶尔成功一次。

lsusb 的结果是:

harsh@ubuntu:~$ lsusb
Bus 001 Device 002: ID 046d:082d Logitech, Inc. 
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

但是,当我运行“cheese”或“qv4l2”之类的应用程序时,会出现以下错误:

(qv4l2)

libv4l2: error turning on stream: Broken pipe
Start Capture: Broken pipe
VIDIOC_STREAMON: Resource temporarily unavailable

(起司)

** (cheese:3230): WARNING **: Error starting streaming on device '/dev/video0'.
** (cheese:3230): WARNING **: Could not negotiate format

(uvcdynctrl)

harsh@ubuntu:~$ uvcdynctrl --list
Listing available devices:
  video0   HD Pro Webcam C920
  Media controller device /dev/media0 doesn't exist
ERROR: Unable to list device entities: Invalid device or device cannot be opened. (Code: 5)

(hwinfo)

harsh@ubuntu:~$hwinfo --usb
//specific to camera
06: USB 00.0: 0000 Unclassified device
[Created at usb.122]
UDI: /org/freedesktop/Hal/devices/usb_device_46d_82d_7AA010EF_if0_logicaldev_input
Unique ID: ADDn.nbyTPNaHH35
Parent ID: k4bc.Qnlx_VAX744
SysFS ID: /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0
SysFS BusID: 1-1:1.0
Hardware Class: unknown
Model: "Logitech HD Pro Webcam C920"
Hotplug: USB
Vendor: usb 0x046d "Logitech, Inc."
Device: usb 0x082d "HD Pro Webcam C920"
Revision: "0.11"
Serial ID: "7AA010EF"
Driver: "uvcvideo"
Driver Modules: "uvcvideo"
Device File: /dev/input/event3
Device Files: /dev/input/event3, /dev/input/by-id/usb-046d_HD_Pro_Webcam_C920_7AA010EF-  event-if00, /dev/input/by-path/pci-0000:02:03.0-usb-0:1:1.0-event
Device Number: char 13:67
Speed: 480 Mbps
Module Alias: "usb:v046Dp082Dd0011dcEFdsc02dp01ic0Eisc01ip00in00"
Driver Info #0:
  Driver Status: uvcvideo is active
  Driver Activation Cmd: "modprobe uvcvideo"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #5 (Hub)`

(v4l2-ctl)

harsh@ubuntu:~$ v4l2-ctl -D
Driver Info (not using libv4l2):
Driver name   : uvcvideo
Card type     : HD Pro Webcam C920
Bus info      : usb-0000:02:03.0-1
Driver version: 3.8.13
Capabilities  : 0x84000001
    Video Capture
    Streaming

(dmesg)

harsh@ubuntu:~$dmesg
[ 1978.311511] usb 1-1: USB disconnect, device number 2
[ 1982.231881] usb 1-1: new high-speed USB device number 3 using ehci-pci
[ 1982.541344] usb 1-1: New USB device found, idVendor=046d, idProduct=082d
[ 1982.541350] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
[ 1982.541353] usb 1-1: Product: HD Pro Webcam C920
[ 1982.541356] usb 1-1: SerialNumber: 7AA010EF
[ 1982.547236] uvcvideo: Found UVC 1.00 device HD Pro Webcam C920 (046d:082d)
[ 1982.556504] input: HD Pro Webcam C920 as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/input/input5

我什至也尝试过LD_PRELOAD解决方案,但结果相同。希望对此有任何见解。

4

3 回答 3

0

几天前我遇到了这个问题,通过将 VMware 设置的 USB 2.0 更改为 USB 3.0 来解决这个问题。

在此处输入图像描述

于 2021-01-07T07:35:56.917 回答
0

我的 Vmware 中的 Debian 上的 Cheese 遇到了同样的问题,下面链接中的 Loom's Answer 解决了我的问题:

于 2017-06-28T08:15:28.763 回答
0

显然,网络摄像头没有像其他 USB 设备那样直接连接到 vm 机器。所以这就是我在virtualbox上使用它的方式。

  1. 关闭您的访客操作系统。
  2. 在虚拟框中打开虚拟机的 USB 设置。确保 USB 2.0(OHCI 和 EHCI)已启用,并且您可以从 USB 过滤器添加相机设备。如果是跳转到第6步。
  3. 如果您没有在 USB 2.0 设置下看到您的网络摄像头,那么您需要添加 virtualbox 扩展包。这是非常简单的步骤,只需遵循此 - https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/intro-installing.html
  4. 您还可以在主机上使用终端/cmd 来检查检测到的网络摄像头设备并附加/分离网络摄像头。请按照此处的说明进行操作:https ://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/webcam-passthrough.html尽管最新版本的 6.0 或更高版本不再需要此方法
  5. 重新启动您的 VM,以便更新设置,您可以在列表中看到您的网络摄像头。如果没有尝试重新启动主机。

这就是在主机端配置的所有内容。

  1. 打开你的虚拟机并登录。
  2. 现在在 virtualbox 设置面板的网络摄像头设置下找到您的网络摄像头并启用它。还要确保在 USB 设备下也选择了相同的网络摄像头。

现在您应该也可以在访客机器上使用您的网络摄像头了。

  1. 此时,如果您仍然无法在查看器中看到摄像机流(即空/黑色流),则很可能您正在使用奶酪查看器。

打开你的终端并运行:

sudo apt-get install -y guvcview

guvcview

我认为奶酪在支持某些 UVC 类网络摄像头方面存在一些问题,它应该可以与 guvcview 一起正常工作。

于 2020-06-21T13:20:16.377 回答