我在一台 PC 上有 3 个 USB 摄像头,其中一个摄像头未使用,可以忽略。我需要强制将两个相同的相机映射到常量设备名称(如/dev/video1和/dev/video2)。相机不应该改变它们的顺序(比如相机 1 安装为video1和相机 2video2断开连接后它们应该是相同的顺序而不是 camera1 --> /dev/video2, camera2 --> /dev/video1。如何使这个设置工作?
我会将相机输出提供给Gstreamer。相机使用v4l2和uvc驱动程序接口。有问题的 Linux 发行版是Archlinux,相机 - 一些罗技网络摄像头。
Pat*_*que 12
我建议您/dev使用udevUSB 相机的独特属性(序列号?端口号?)自动创建符号链接。请参阅有关 udev 规则的教程(也应适用于 Arch)。或者也许这个教程更清楚。
您可以使用以下方法获取设备的属性列表:
sudo udevadm info --query=all --name=/dev/video1
Run Code Online (Sandbox Code Playgroud)
然后
sudo udevadm info --query=all --name=/dev/video2
Run Code Online (Sandbox Code Playgroud)
找出不同之处并在其中创建一个.rules文件/etc/udev/rules.d(例如,您可以将其99-myvideocards.rules用作文件名);假设您想使用序列号,您会得到一个如下所示的规则集:
ATTRS{ID_SERIAL}=="0123456789", SYMLINK+="myfirstvideocard"
ATTRS{ID_SERIAL}=="1234567890", SYMLINK+="mysecondvideocard"
Run Code Online (Sandbox Code Playgroud)
拔下/重新插入设备后(或重新启动后),您将获得/dev/myfirstvideocard并且/dev/mysecondvideocard始终指向相同的设备。
Patrice Levesque 方法工作正常,但我发现 Linux 中已经存在/dev/v4l/by-id/usb-046d_0819_92E84F10-video-index0文件夹中的符号链接,/dev/v4l/by-id/因此无需执行任何操作,如果程序可以接受/dev/videoX.
| 归档时间: |
|
| 查看次数: |
18142 次 |
| 最近记录: |