Traté de ejecutar lo siguiente:
$ 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'
Así que supongo que actualmente hay un programa accediendo a mi cámara web, lo cual es engorroso ya que su luz está apagada y lsof | grep /dev/video
no devuelve nada. ¿Hay otra forma adecuada de verificar qué procesos están usando actualmente mi cámara web? ¿O es el problema de una naturaleza completamente diferente?
dmesg | grep -i 'warn|fail|error|usb|video'
pueda darle algo de pegamentolsusb
respecta, utilizando el módulo de video usb. Estoy ejecutando Gentoo. Publicaré más información cuando se produzca el error la próxima vez, pero en realidad solo estoy interesado en saber qué procesos están usando la cámara.Respuestas:
Estaba teniendo el mismo problema y la solución en http://www.theoutpost.org/8-nslu2/open-devvideo0-device-or-resource-busy/ (EDIT: url updated) me ayudó.
fuente
fuser /dev/video0
pero todavía lo consigo/dev/video0: Device or resource busy
.sudo fuser /dev/video0
en caso de que el comando sin sudo no muestre un resultado.Por alguna razón / dev / video * de la respuesta de Tsan-Kuang no funcionó para mí. Aquí hay otra manera se podría llegar a su dispositivo:
ls /dev/input/by-id/
. Por ejemplo:$ fuser /dev/input/by-id/usb-Microsoft_Microsoft®_LifeCam_HD-5000-event-if00
fuente
Este comando devolverá todos los procesos que están utilizando el dispositivo:
Tener PID puede matar el proceso, en esta muestra:
fuente