如何修复此问题,有时 /dev/video0 会自动变为 /dev/video1,导致其他应用程序无法读取

如何修复此问题,有时 /dev/video0 会自动变为 /dev/video1,导致其他应用程序无法读取

我有一个 USB 摄像头,连接时会将其设置为 /dev/video0,现在使用其他应用程序时,读取 /dev/video0 时一切正常,但过了一段时间(比如几个小时后),/dev/video0 会自动消失,变成 /dev/video1。结果,由于没有 /dev/video0,同一个应用程序无法捕获它。

如何应用 BASH 循环来始终克隆 /dev/video0 和 /dev/video1。例如,如果 video0 丢失但 video1 存在,则脚本将完全克隆彼此。

有什么想法吗,如何修复它以便我们始终拥有彼此的 /dev/video0 和 /dev/video1 克隆?

跟进:

回答得很好

答案1

这很常见,但基本上你不应该弄乱 /dev 下的东西,它是一个特殊的文件系统,它会重新生成,从而导致你所说的问题。相反,你需要设置一个 udev 规则来确保你的设备始终获得相同的名称。

使用此信息从评论 5 开始,设置您的规则文件。

在这个网站上正确地分阶段有点复杂,但基本上:

  1. udevinfo -a -p $(udevinfo -q path -n /dev/video0)获取每台设备的设备信息。
  2. 发现设备的不同之处
  3. 前往 /etc/udev/rules.d 并创建一个新的规则文件(使用较小的数字,如 11)
  4. 修改文件以使用您的新属性并为设备赋予一个新的/静态的名称

它非常复杂,但效果很好。

相关内容