如何将 /sys/bus/usb/devices 映射到 /dev/video*?

nic*_*ico 6 linux usb video devices sysfs

我使用的库(librealsense)仅输出总线和端口号(9.1)。它内部使用libusb。问题出自 libusb 中的这个标识符,我想知道它属于 /dev/video0 中的哪个物理设备。例如,当两个摄像头插入端口 9.1 和 7.2 时,9.1 -> /dev/video0 和 7.2 -> /dev/video2。

这可能吗?如何获取哪些设备路径属于总线和端口?任何部分答案都会有帮助。

nic*_*ico 3

回答这样我就可以结束这个问题,完全归功于@ridgy 和@dirkt 的帮助。使用命令:

udevadm info -n video0 -q path
Run Code Online (Sandbox Code Playgroud)

或者类似地,可以找到ls -l /sys/class/video4linux/该形式的路径。与使用 或的/devices/pci0000:00/0000:00:10.0/usb7/7-2/7-2:1.0/video4linux/video0视频设备列表相结合,可以创建 USB 端口和视频设备之间的映射。ls /dev/video*v4l2-ctl --list-devices