web-dev-qa-db-fra.com

Comment résoudre ce problème, où parfois / dev / video0 devient automatiquement / dev / video1 en conséquence, d'autres applications ne peuvent pas lire

J'ai une caméra USB qui, lors de la connexion, fait place à/dev/video0, utilisant maintenant d'autres applications tandis que sa lecture/dev/video0 fonctionne bien, après un certain temps, comme quelques heures plus tard, automatiquement/dev/video0 disparaît automatiquement et il devient/dev/video1. Par conséquent, la même application ne fonctionne plus pour la capturer car il n'y a plus de/dev/video0.

Comment est-il possible d'appliquer une boucle BASH pour avoir toujours un clone de/dev/video0 et/dev/video1. Comme si video0 est perdu mais video1 est présent, le script se clonera exactement les uns les autres.

Une idée, comment y remédier pour que nous ayons toujours/dev/video0 et/dev/video1 clone l'un de l'autre?

Suivi:

Bien répondu aussi

1
YumYumYum

C'est assez courant, mais fondamentalement, vous ne devriez pas jouer avec des choses sous/dev, c'est un système de fichiers spécial qui se régénère, causant juste le problème dont vous parlez. à la place, vous devez configurer une règle udev pour vous assurer que vos appareils portent toujours le même nom.

tilisez ces informations du commentaire 5, pour configurer votre fichier de règles.

C'est un peu compliqué de se mettre en phase correctement sur ce site, mais en gros:

  1. Obtenez les informations de votre appareil avec udevinfo -a -p $(udevinfo -q path -n /dev/video0) pour chaque appareil.
  2. Trouvez quelque chose de différent sur les appareils
  3. Dirigez-vous vers /etc/udev/rules.d et créez un nouveau fichier de règles (avec un nombre faible comme 11)
  4. modifier le fichier pour utiliser votre nouvel attribut et donner à votre appareil un nom nouveau/statique

C'est très compliqué, mais fonctionne assez bien.

4
coteyr