Je vous suggère de créer automatiquement /dev
liens symboliques utilisant udev
, en utilisant les propriétés uniques (numéro de série ? numéro de port ?) de vos caméras USB. Voir ce tutoriel (qui devrait également s'appliquer à Arch) sur les règles udev. Ou peut-être que ce tutoriel est plus clair.
Vous pouvez obtenir la liste des propriétés de vos appareils en utilisant :
sudo udevadm info --query=all --name=/dev/video1
alors
sudo udevadm info --query=all --name=/dev/video2
Trouvez ce qui est différent et créez un .rules
fichier à l'intérieur de /etc/udev/rules.d
(vous pouvez utiliser 99-myvideocards.rules
comme nom de fichier, disons); disons que vous voulez utiliser le numéro de série, vous obtiendrez un ensemble de règles qui ressemble à :
ATTRS{ID_SERIAL}=="0123456789", SYMLINK+="myfirstvideocard"
ATTRS{ID_SERIAL}=="1234567890", SYMLINK+="mysecondvideocard"
Après avoir débranché/rebranché vos appareils (ou après un redémarrage), vous obtiendrez /dev/myfirstvideocard
et /dev/mysecondvideocard
qui pointent toujours vers les mêmes appareils.
La méthode Patrice Levesque fonctionne bien, mais j'ai trouvé qu'il y a déjà des liens symboliques sous Linux comme /dev/v4l/by-id/usb-046d_0819_92E84F10-video-index0
dans le dossier /dev/v4l/by-id/
donc pas besoin de faire quoi que ce soit, si son programme peut accepter des arguments autres que /dev/videoX
.