Python 从网络摄像头按钮获取信号
我有一个摄像头,它有按钮。在Windows中,当我按下该按钮时,它会抓取图像快照。但现在我在linux上,我使用VLC从我的usb网络摄像头“/dev/video0”查看视频。我想使用python从按下的按钮获取信号——我的意思是获取这个信号(没有自动抓取快照)。Python 从网络摄像头按钮获取信号,python,python-2.7,Python,Python 2.7,我有一个摄像头,它有按钮。在Windows中,当我按下该按钮时,它会抓取图像快照。但现在我在linux上,我使用VLC从我的usb网络摄像头“/dev/video0”查看视频。我想使用python从按下的按钮获取信号——我的意思是获取这个信号(没有自动抓取快照)。 我试着用谷歌搜索,但没有成功。我不想使用opencv或gstreamer将视频放入新窗口,我只需要在按下网络摄像头上的按钮时捕捉信号。你知道怎么得到这个信号吗 使用pythonevdev可以捕获由鼠标、键盘等输入设备触发的事件,还可以
我试着用谷歌搜索,但没有成功。我不想使用opencv或gstreamer将视频放入新窗口,我只需要在按下网络摄像头上的按钮时捕捉信号。你知道怎么得到这个信号吗 使用
pythonevdev
可以捕获由鼠标、键盘等输入设备触发的事件,还可以捕获网络摄像头
evdev是内核用于转发的一种仅限Linux的通用协议
有关用户空间输入设备的信息和事件。不仅仅是
对于鼠标和键盘,但任何具有任何轴的设备,键
或者按钮,包括网络摄像头和遥控器。每个
设备以以下形式表示为设备节点:
/dev/input/event0,随着添加的数量增加,尾随的数字也会增加
设备。在拔下设备后,节点号会重新使用,因此
不要将设备节点硬编码到脚本中。设备节点是
也只能由root用户读取,因此您需要运行任何调试工具
就像根一样
网络摄像头的按钮还分配了一个事件,您必须在/dev/input/
文件夹中查找
从运行以下代码以获取网络摄像头的路径:
列出可访问的事件设备
import evdev
devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()]
for device in devices:
print(device.fn, device.name, device.phys)