Te sugiero que crees automáticamente /dev
enlaces simbólicos usando udev
, usando propiedades únicas (¿número de serie? ¿número de puerto?) de sus cámaras USB. Vea este tutorial (también debería aplicarse a Arch) sobre las reglas de udev. O tal vez este tutorial sea más claro.
Puede obtener la lista de propiedades para sus dispositivos usando:
sudo udevadm info --query=all --name=/dev/video1
entonces
sudo udevadm info --query=all --name=/dev/video2
Encuentra lo que es diferente y crea un .rules
archivo fuera de él dentro de /etc/udev/rules.d
(puedes usar 99-myvideocards.rules
como un nombre de archivo, digamos); digamos que desea usar el número de serie, obtendrá un conjunto de reglas que se ve así:
ATTRS{ID_SERIAL}=="0123456789", SYMLINK+="myfirstvideocard"
ATTRS{ID_SERIAL}=="1234567890", SYMLINK+="mysecondvideocard"
Después de desconectar/volver a conectar sus dispositivos (o después de reiniciar), obtendrá /dev/myfirstvideocard
y /dev/mysecondvideocard
que siempre apuntan a los mismos dispositivos.
El método Patrice Levesque funciona bien, pero descubrí que ya hay enlaces simbólicos en Linux como /dev/v4l/by-id/usb-046d_0819_92E84F10-video-index0
en la carpeta /dev/v4l/by-id/
así que no hay necesidad de hacer nada, si el programa puede aceptar argumentos que no sean /dev/videoX
.