我在从终端使用网络摄像头时遇到问题。我的笔记本电脑是MSI GE60 2PC Apache,操作系统是Debian 8 Jessie。
当我按 FN+F6 时,我的网络摄像头打开,我可以将网络摄像头与奶酪应用程序一起使用。如果我再次按 FN+F6,网络摄像头将关闭并且我无法使用网络摄像头,并显示一条消息“未找到设备”。我想用 python 代码或 bash 代码控制网络摄像头,我不想按 FN+F6。我能怎么做?
这些在系统日志中引起了我的注意,
- “XINPUT:添加扩展输入设备“BisonCam,NB Pro”(类型:KEYBOARD,id 15)”
- “config/udev:添加输入设备 BisonCam、NB Pro (/dev/input/event17)”
这是当我按 FN+F6 时系统日志的输出:
kernel: [34628.327642] usb 1-1.4: new high-speed USB device number 8 using ehci-pci
kernel: [34628.462468] usb 1-1.4: New USB device found, idVendor=5986, idProduct=0248
kernel: [34628.462471] usb 1-1.4: New USB device strings: Mfr=6, Product=2, SerialNumber=0
kernel: [34628.462472] usb 1-1.4: Product: BisonCam, NB Pro
kernel: [34628.464910] uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0248)
mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4"
mtp-probe: bus: 1, device: 8 was not an MTP device
kernel: [34628.468993] input: BisonCam, NB Pro as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input24
gdm-Xorg-:0[1092]: (II) config/udev: Adding input device BisonCam, NB Pro (/dev/input/event17)
gdm-Xorg-:0[1092]: (**) BisonCam, NB Pro: Applying InputClpass "evdev keyboard catchall"
gdm-Xorg-:0[1092]: (II) Using input driver 'evdev' for 'BisonCam, NB Pro'
gdm-Xorg-:0[1092]: (**) BisonCam, NB Pro: always reports core events
gdm-Xorg-:0[1092]: (**) evdev: BisonCam, NB Pro: Device: "/dev/input/event17"
gdm-Xorg-:0[1092]: (--) evdev: BisonCam, NB Pro: Vendor 0x5986 Product 0x248
gdm-Xorg-:0[1092]: (--) evdev: BisonCam, NB Pro: Found keys
gdm-Xorg-:0[1092]: (II) evdev: BisonCam, NB Pro: Configuring as keyboard
gdm-Xorg-:0[1092]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input24/event17"
gdm-Xorg-:0[1092]: (II) XINPUT: Adding extended input device "BisonCam, NB Pro" (type: KEYBOARD, id 15)
gdm-Xorg-:0[1092]: (**) Option "xkb_rules" "evdev"
gdm-Xorg-:0[1092]: (**) Option "xkb_model" "pc105"
gdm-Xorg-:0[1092]: (**) Option "xkb_layout" "tr"
gdm-Xorg-:0[1092]: The XKEYBOARD keymap compiler (xkbcomp) reports:
gdm-Xorg-:0[1092]: > Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
gdm-Xorg-:0[1092]: > Ignoring extra symbols
gdm-Xorg-:0[1092]: Errors from xkbcomp are not fatal to the X server
在这里,当我按“FN+F6”时,我的“xev”输出:
KeyPress event, serial 36, synthetic NO, window 0x1e00001,
root 0xa8, subw 0x0, time 3880173, (803,239), root:(890,391),
state 0x10, keycode 220 (keysym 0x1008ff8f, XF86WebCam), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1e00001,
root 0xa8, subw 0x0, time 3880280, (803,239), root:(890,391),
state 0x10, keycode 220 (keysym 0x1008ff8f, XF86WebCam), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
对于acpi_listen
,此 FN 组合没有输出。但其他一些,例如亮度,确实会产生输出。
答案1
我想用 python 代码或 bash 代码控制网络摄像头,但又不想按 FN+F6。我该怎么办?
您可以使用webcam
命令:
sudo apt install webcam
webcam
命令xawtv
:
sudo apt install xawtv
xawtv
命令motion
:
sudo apt-get install motion
motion
答案2
好的,我解决了我的问题。我的目标是一开始就打开网络摄像头。
我发现 FN+F6 对我来说是如何工作的。该键与开关设备的硬件相关。我测试了以下步骤:
- 我按 FN+F6 并打开网络摄像头。
- 重新启动计算机。
- 尝试打开网络摄像头,是的,网络摄像头已打开。
最后我写了一个bash脚本,这个脚本运行成功。