我有一个 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 开始,设置您的规则文件。
在这个网站上正确地分阶段有点复杂,但基本上:
udevinfo -a -p $(udevinfo -q path -n /dev/video0)
获取每台设备的设备信息。- 发现设备的不同之处
- 前往 /etc/udev/rules.d 并创建一个新的规则文件(使用较小的数字,如 11)
- 修改文件以使用您的新属性并为设备赋予一个新的/静态的名称
它非常复杂,但效果很好。