如何找出哪个进程正在使用我的 V4L2 网络摄像头?

Tur*_*ion 23 vlc devices v4l camera

我尝试运行以下命令:

$ 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'    
Run Code Online (Sandbox Code Playgroud)

所以我假设当前有一个程序正在访问我的网络摄像头,这很麻烦,因为它的灯不亮并且lsof | grep /dev/video什么都不返回。是否有另一种正确的方法来检查当前正在使用我的网络摄像头的进程?还是性质完全不同的问题?

Tsa*_*Lee 40

我遇到了同样的问题,http : //www.theoutpost.org/8-nslu2/open-devvideo0-device-or-resource-busy/(编辑:url更新)上的解决方案 帮助了我。

$ fuser /dev/video0
/dev/video0: 1871m
$ ps axl | grep 1871
$ kill -9 1871
Run Code Online (Sandbox Code Playgroud)

  • 我没有收到关于`fuser /dev/video0` 的任何信息,但我仍然收到`/dev/video0: Device or resource busy`。 (4认同)
  • 老问题,但因为我花了 2 小时...请记住尝试`sudo fuser /dev/video0`,以防没有 sudo 的命令没有显示结果。 (2认同)

小智 6

由于某种原因,Tsan-Kuang 的回答中的 /dev/video* 对我不起作用。您还可以通过以下方式访问您的设备:ls /dev/input/by-id/。例如:

\n\n

$ fuser /dev/input/by-id/usb-Microsoft_Microsoft\xc2\xae_LifeCam_HD-5000-event-if00

\n