ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

声卡/显卡/打印机/USB设备等硬件问题(网卡问题请发上面的网卡板块)
回复
你好我叫椰子
帖子: 3
注册时间: 2020-01-11 17:28
系统: 18.04
送出感谢: 2 次
接收感谢: 0

ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

#1

帖子 你好我叫椰子 » 2020-01-15 22:08

如题,笔记本前置摄像头对应video0和video1,插一个usb摄像头多video2和video3,太遭心了 :Cry 有没有大佬能帮帮我
头像
astolia
论坛版主
帖子: 4241
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 705 次

Re: ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

#2

帖子 astolia » 2020-01-16 9:49

正常现象。一个是图像/视频采集,一个是metadata采集
你用

代码: 全选

v4l2-ctl --device=/dev/video*
就应该能看到一个是Video Capture,一个是Metadata Capture

相关代码 https://git.kernel.org/pub/scm/linux/ke ... f66a86545a
相关文档 https://linuxtv.org/downloads/v4l-dvb-a ... -meta.html
这些用户感谢了作者 astolia 于这个帖子:
你好我叫椰子 (2020-01-16 15:13)
评价: 3.7%
你好我叫椰子
帖子: 3
注册时间: 2020-01-11 17:28
系统: 18.04
送出感谢: 2 次
接收感谢: 0

Re: ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

#3

帖子 你好我叫椰子 » 2020-01-16 15:39

那有没有能够屏蔽掉metadata capture的办法。我现在需要使用的是video capture,用udev去绑定新加入的usb设备后,绑定的是这两个之间的随机一个,这样绑定就没意义了
头像
astolia
论坛版主
帖子: 4241
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 705 次

Re: ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

#4

帖子 astolia » 2020-01-16 17:30

本来可以直接给udev规则里加个条件限制,要求ID_V4L_CAPABILITIES属性里面必须要有:capture:,就可以不让它去处理metadata设备。但是18.04里面的udev相关代码有个bug,导致分不出来 https://github.com/systemd/systemd/comm ... adf1d096fd

要么自己写个程序用ioctl向设备发送VIDIOC_QUERYCAP控制码,检查设备是V4L2_CAP_VIDEO_CAPTURE、V4L2_CAP_VIDEO_CAPTURE_MPLANE还是V4L2_CAP_META_CAPTURE,参考上面链接v4l_id的源码和 /lib/udev/rules.d/60-persistent-v4l.rules 中对v4l_id的调用,给设备加上个属性。
也可以把最新的v4l_id代码自己编译一下,替换掉存在bug的/lib/udev/v4l_id
这些用户感谢了作者 astolia 于这个帖子:
你好我叫椰子 (2020-01-16 18:30)
评价: 3.7%
你好我叫椰子
帖子: 3
注册时间: 2020-01-11 17:28
系统: 18.04
送出感谢: 2 次
接收感谢: 0

Re: ubuntu18.04一个摄像头在/dev下对应两个video怎么回事

#5

帖子 你好我叫椰子 » 2020-01-16 18:29

:Smile 好吧谢谢大佬
回复

回到 “常用硬件支持”