Я попытался запустить следующее:
$ 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'
Итак, я предполагаю, что в данный момент есть программа, которая обращается к моей веб-камере, что является громоздким, поскольку ее свет выключен и lsof | grep /dev/video
ничего не возвращает. Есть ли другой, правильный способ проверить, какие процессы в настоящее время используют мою веб-камеру? Или проблема совершенно другого характера?
dmesg | grep -i 'warn|fail|error|usb|video'
может дать вам немного клеяlsusb
, использующий видео модуль USB. Я использую Gentoo. Я опубликую больше информации, когда ошибка произойдет в следующий раз, но на самом деле мне просто интересно узнать, какие процессы используют камеру.Ответы:
У меня была та же проблема, и решение по адресу http://www.theoutpost.org/8-nslu2/open-devvideo0-device-or-resource-busy/ (РЕДАКТИРОВАТЬ: обновленный URL) помогло мне.
источник
fuser /dev/video0
но я все еще получаю/dev/video0: Device or resource busy
.sudo fuser /dev/video0
на случай, если команда без sudo не даст результата.По какой-то причине / dev / video * из ответа Цан-Куанга у меня не получилось. Вот еще один способ , которым Вы могли бы достичь устройства:
ls /dev/input/by-id/
. Например:$ fuser /dev/input/by-id/usb-Microsoft_Microsoft®_LifeCam_HD-5000-event-if00
источник
Эта команда вернет все процессы, которые используют устройство:
Имея PID, вы можете убить процесс, в этом примере:
источник