J'ai essayé d'exécuter ce qui suit:
$ vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path webcam.png --scene-prefix image_prefix --scene-format png vlc://quit --run-time=1
VLC media player 2.0.7 Twoflower (revision 2.0.6-54-g7dd7e4d)
[0x1f4a1c8] dummy interface: using the dummy interface module...
[0x7fc19c001238] v4l2 demux error: VIDIOC_STREAMON failed
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
libv4l2: error setting pixformat: Device or resource busy
[0x7fc19c007f18] v4l2 access error: cannot set input 0: Device or resource busy
[0x7fc19c007f18] v4l2 access error: cannot set input 0: Device or resource busy
[0x7fc1a4000b28] main input error: open of `v4l2:///dev/video0' failed
[0x7fc1a4000b28] main input error: Your input can't be opened
[0x7fc1a4000b28] main input error: VLC is unable to open the MRL 'v4l2:///dev/video0'. Check the log for details.
[0x7fc19c007cc8] idummy demux: command `quit'
Je suppose donc qu'un programme accède actuellement à ma webcam, ce qui est encombrant car son voyant est éteint et lsof | grep /dev/video
ne renvoie rien. Existe-t-il un autre moyen approprié de vérifier quels processus utilisent actuellement ma webcam? Ou le problème est-il d'une tout autre nature?
dmesg | grep -i 'warn|fail|error|usb|video'
peut vous donner un peu de collelsusb
concerne le module vidéo USB. Je dirige Gentoo. Je publierai plus d'informations lorsque l'erreur se produira la prochaine fois, mais en fait, je souhaite simplement savoir quels processus utilisent la came.Réponses:
J'avais le même problème et la solution à http://www.theoutpost.org/8-nslu2/open-devvideo0-device-or-resource-busy/ (EDIT: url mis à jour) m'a aidé.
la source
fuser /dev/video0
mais je reçois toujours/dev/video0: Device or resource busy
.sudo fuser /dev/video0
au cas où la commande sans sudo n'affiche pas de résultat.Pour une raison / dev / video * de la réponse de Tsan-Kuang n'a pas fonctionné pour moi. Voici une autre façon , vous pouvez atteindre votre appareil:
ls /dev/input/by-id/
. Par exemple:$ fuser /dev/input/by-id/usb-Microsoft_Microsoft®_LifeCam_HD-5000-event-if00
la source
Cette commande renverra tous les processus qui utilisent le périphérique:
Ayant PID, vous pouvez tuer le processus, dans cet exemple:
la source