如何更改默认网络摄像头?

如何更改默认网络摄像头?

我使用的是 ubuntu 18.10,我的笔记本电脑(ThinkPad 25)内置网络摄像头图像扭曲且呈粉红色。我在 google hangouts 和 cheese 中尝试过,它们都显示相同类型的图像。

奶酪的屏幕截图显示了网络摄像头的图像,该图像扭曲且呈粉红色。

Cheese 在命令行上没有显示任何错误,只是显示以下内容:

(cheese:5930): Gtk-WARNING **: 09:00:44.808: Theme parsing error: cheese.css:7:35: The style property GtkScrollbar:min-slider-length is deprecated and shouldn't be used anymore. It will be removed in a future version

我认为这是不相关的(?)。

我找到了这个页面:https://help.ubuntu.com/community/Webcam/Troubleshooting但是它非常古老并且谈论的是 Skype,并且使用不同的选项启动 Skype,但是我无法使用 Skype,我需要 Google Hangouts 才能工作。

我相信这可能就是我的网络摄像头:

product: Integrated Camera [4F2:B5AB]
vendor: SunplusIT Inc [4F2]
bus info: usb@1:8
version: 0.10
capabilities:
    USB 2.0
configuration:
    driver: uvcvideo
    maxpower: 500mA
    speed: 480Mbit/s

有什么想法吗?谢谢!


编辑。好的,看来我的笔记本电脑实际上有 2 个不同的网络摄像头,显示不良图像的摄像头实际上名为集成红外摄像头。我也找到了一个关于它的网页:https://blogs.gnome.org/jamesh/2017/10/22/thinkpad-infrared-camera/

我随机点击了 cheese 中的按钮,有一个按钮可以更改正在使用的摄像头,而另一个摄像头可以正常显示图片。默认摄像头似乎是红外摄像头——既然它没有做任何有用的事情,我该如何在所有程序中将其删除?

答案1

楼主的解决方案对我来说没用,但给了我一个正确的方向。事实上,如果红外摄像头与主摄像头是分开的,可以通过切断电源将其拆下。

快速谷歌搜索“ubuntu 禁用 usb 设备”显示了这个页面 -https://karlcode.owtelse.com/blog/2017/01/09/disabling-usb-ports-on-linux/

简而言之 - 找到相机连接到的 USB 端口(下面的示例中为 1-1.6,但我的笔记本电脑为 1-5):

$ for device in $(ls /sys/bus/usb/devices/*/product); do echo $device;cat $device;done
/sys/bus/usb/devices/1-1.2/product
Dell USB Entry Keyboard
/sys/bus/usb/devices/1-1.6/product
Webcam SC-13HDL11624N
/sys/bus/usb/devices/2-1/product
Amazon Kindle
/sys/bus/usb/devices/2-2/product
USB Receiver
/sys/bus/usb/devices/usb1/product
EHCI Host Controller
/sys/bus/usb/devices/usb2/product
xHCI Host Controller
/sys/bus/usb/devices/usb3/product
xHCI Host Controller

然后关闭电源:

echo '1-1.6' | sudo tee /sys/bus/usb/drivers/usb/unbind

或者在重启时通过 cron 执行此操作:

sudo crontab -e

并添加以下内容:

@reboot echo '1-1.6' > /sys/bus/usb/drivers/usb/unbind

(当然,将“1-1.6”替换为“1-5”或相机连接的任何端口)

类似的问题和解决方案是 -是否可以关闭特定的 USB 端口以使其不接受任何设备?

答案2

因此,如果其他人遇到这个问题并需要我的解决方案,我就会在这里写下来。

我最终使用 usb_modeswitch 禁用了集成红外摄像头。

首先我使用 dmesg 检查了集成红外摄像头的供应商和产品:

karl@penguin:~$ dmesg |grep "Integrated IR Camera"
[    1.341836] usb 1-5: Product: Integrated IR Camera
[    3.741357] uvcvideo: Found UVC 1.00 device Integrated IR Camera (04f2:b5ac)
[    3.767724] input: Integrated IR Camera: Integrate as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input12

这个 04f2:b5ac 显示了供应商和产品。

因此我为该设备创建了一个自定义的配置文件,它将从该 USB 设备上分离驱动程序(文件名包含供应商和产品 ID):

karl@penguin:~$ echo "echo DetachStorageOnly=1 > /etc/usb_modeswitch.d/04f2:b5ac" | sudo bash

然后我在文件末尾的“LABEL="modeswitch_rules_end"”之前在 usb_modeswitch udev 规则中添加了几行,以便在启动时应用配置:

karl@penguin:~$ sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules

(请注意,供应商 ID 和产品 ID 仍然与 dmesg 中的相匹配。)

# TP25 IR Camera
ATTR{idVendor}=="04f2", ATTR{idProduct}=="b5ac", RUN+="usb_modeswitch '/%k'"

重新启动后,默认的集成红外摄像头就永远消失了。

相关内容