Ubuntu 20.04 中的网络摄像头部分工作

Ubuntu 20.04 中的网络摄像头部分工作

我的网络摄像头在某些应用程序中可以使用,但在其他应用程序中却无法使用。例如,它在 skype 和 guvcview 中可以使用,但在 cheese 中却无法使用(cheese 已重新安装,但无效)。

>lsusb
Bus 001 Device 002: ID 0806:0806 SJ-181217-N 1080P Webcam

>hwinfo --usb
07: USB 00.2: 0000 Unclassified device
  [Created at usb.122]
  Unique ID: RUmI.YLn6RqfXaa3
  Parent ID: k4bc.2DFUsyrieMD
  SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.2
  SysFS BusID: 1-7:1.2
  Hardware Class: unknown
  Model: "SJ-181217-N 1080P Webcam"
  Hotplug: USB
  Vendor: usb 0x0806 "SJ-181217-N"
  Device: usb 0x0806 "1080P Webcam"
  Revision: "12.17"
  Driver: "snd-usb-audio"
  Driver Modules: "snd_usb_audio"
  Speed: 480 Mbps
  Module Alias: "usb:v0806p0806d1217dcEFdsc02dp01ic01isc01ip00in02"
  Driver Info #0:
    Driver Status: snd_usb_audio is active
    Driver Activation Cmd: "modprobe snd_usb_audio"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #9 (Hub)

更糟糕的是,在 Chrome 中,它在某些网站上可以运行,但在其他网站上却不行。我不知道这是同一个问题还是另一个问题。它在 meet.google.com 和 hangouts.google.com 以及一些网络摄像头测试中可以运行,但在任何 javascript 网络摄像头教程(我们使用<video>和)中都行不通navigator.mediaDevices.getUserMedia(..)

如果我谷歌搜索webcam test,并关注以下结果:

  1. https://www.onlinemictest.com/webcam-test/- 作品;
  2. https://webcamtests.com/- 不起作用;
  3. https://www.vidyard.com/cam-test/- 作品;
  4. https://webcammictest.com/- 不起作用;
  5. https://www.iobit.com/en/webcam-test.php- 作品;
  6. https://www.hotcleaner.com/webcam-test/- 不起作用;
  7. https://www.drift.com/video/camera-test/- 不起作用;

Chrome devtools 什么也没说。

更新:出现了一个非常奇怪的行为:如果我访问任何工作网站,例如https://www.onlinemictest.com/webcam-test/并开始测试,然后在另一个选项卡中打开不工作的网站,它也开始工作。似乎工作的网站做了一些打开摄像头的事情,之后它到处都可以工作。如果我关闭第一个选项卡并刷新第二个选项卡,我只会看到黑屏。

答案1

好的,转到 chrome://settings/content/camera?search=camera 并检查您提到的网站是处于允许状态还是阻止状态。尝试启用或禁用“访问前询问”。此外,尝试https://storyxpress.co/webcam-test网络摄像头测试工具可检测您的摄像头是否能在这里工作。

答案2

网络摄像头通常会向系统提供一些有关宽度/高度/分辨率的隐藏数据。可能对于我的网络摄像头型号,缺少这些数据。我最终通过在调用中手动指定宽度和高度解决了这个问题getUserMedia。我猜,上面所有正常工作的网络摄像头测试都设置了这些选项,而所有不正常工作的测试都没有设置这些选项。

这是工作代码: https://codepen.io/kasheftin/pen/YzwdmYV

PS 我猜 cheese 也试图从相机设置中获取宽度/高度,并且没有回退(默认值)。

相关内容