让网络摄像头在 Linux 的 Virtualbox 上运行

让网络摄像头在 Linux 的 Virtualbox 上运行

我正在尝试启用我的网络摄像头。我的客户机和主机操作系统都运行 ArchLinux x86_64。我已遵循以下步骤:

  1. 从 virtualbox.org 下载 Virtualbox 扩展包。

  2. 将用户添加到 vboxusers 并重新登录。

  3. 从 VM 设置中的 USB 选项启用 USB 2.0。

  4. 添加了我的 Logitech C270 网络摄像头。


现在,当我启动虚拟机并运行 cheese 之类的应用程序或访问类似https://webcamtests.com/,网络摄像头打开,摄像头上的绿色 LED 亮起。但图像完全空白。


系统详细信息:

  • 主持人:
  1. VirtualBox 版本 6.1.18 r142142

  2. 核心:

$ cat /proc/version
Linux version 5.10.16-xanmod1-cacule-1-cacule (souravgoswami@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Sat, 20 Feb 2021 17:39:12 +0000
  1. vboxmanage 列出网络摄像头
Video Input Devices: 2
.3 "Integrated_Webcam_HD: Integrate"
/dev/video2
.4 "Integrated_Webcam_HD: Integrate"
/dev/video3

我还运行了这个命令:

$ vboxmanage controlvm "Archlinux" webcam attach /dev/video2
$ vboxmanage controlvm "Archlinux" webcam attach /dev/video3
  1. 网络摄像头列表:
$ vboxmanage controlvm "Archlinux" webcam list
/dev/video2
/dev/video3
  • 客人:
  1. 核心:
$ cat /proc/version 
Linux version 5.10.4-xanmod1-cacule-1-cacule (souravgoswami@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Sat, 02 Jan 2021 02:50:59 +0000
  1. lsusb 的输出:
$ lsusb

Bus 001 Device 002: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  1. 输出自v4l2-ctl --list-devices
$ v4l2-ctl --list-devices
UVC Camera (046d:0825) (usb-0000:00:0b.0-1):
    /dev/video0
    /dev/video1

如果我使用 ffmpeg 来捕获摄像头,行为也是相同的,摄像头打开了,但没有任何记录(无法播放视频文件)。

如何使用 VirtualBox 运行我的网络摄像头?

编辑:

还添加了笔记本电脑的集成摄像头,它也具有相同的行为。白色指示灯亮起,但没有视频流。

相关内容