在 Ubuntu 18.04 中,集成网络摄像头在一段时间后停止工作:所有应用程序(gucview、cheese 等)都变成黑屏。我不知道是什么原因造成的,也不知道如何解决。
当我这样做时guvcview -d /dev/video0
结果是:
V4L2_CORE: Could not grab image (select timeout): Resource temporarily unavailable
当我尝试另一个驱动程序时,mplayer -cache 128 -tv driver=v4l2:width=640:height=480 -vo xv tv://
结果是:
Error while decoding frame!
v4l2: select timeout
[mjpeg @ 0x7f01c899a920]No JPEG data found in image
奇怪的是,重启后视频可以正常工作。过了一会儿,就不行了,无法理解是什么原因导致它无法正常工作。fuser /dev/video0
没有显示任何用途。
sudo lsof -n | grep video
显示一切看似正常:
Output information may be incomplete.
goa-daemo 1375 username mem REG 259,2 623848 3282429 /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0.1405.0
gmain 1375 1382 username mem REG 259,2 623848 3282429 /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0.1405.0
gdbus 1375 1384 username mem REG 259,2 623848 3282429 /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0.1405.0
dconf\x20 1375 1385 username mem REG 259,2 623848 3282429 /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0.1405.0
关闭并再次打开并不能解决任何问题:
sudo modprobe -r uvcvideo
sudo modprobe uvcvideo
有什么办法至少可以了解是什么原因导致内置网络摄像头被禁用吗?
答案1
我自己在 Ubuntu 20.04 中遇到了同样的问题,虽然我写这篇文章是为了尝试帮助找到解决方案,但我真的只有一个糟糕的解决方法。
就我而言,“网络摄像头”是一个 USB UVC 捕获设备(我尝试了两种不同类型,但都没有在 Windows 上表现出这种行为)。
我发现相机只能工作一次拍摄会话,然后停止工作,直到设备重置。要重现此问题:
- 启动电脑
- 打开奶酪(影像作品)
- 关闭奶酪
- 打开奶酪(视频输出为黑色)
- 关闭奶酪
- 断开并重新连接网络摄像头
- 打开奶酪(影像作品)
对于像 Skype 这样的应用程序来说,这有点问题,因为它在开始通话之前显然会停止并开始从网络摄像头读取信息,因此结果总是黑屏。
到目前为止我尝试过/检查过但没有帮助的事情:
- 5.6 内核
- /dev/video 的权限(使用户成为视频组的成员,尚未尝试 root)
我看不到任何相关错误记录。
什么有帮助是硬重置 USB 设备的脚本(我发现 usbreset.cc 是最好的方法),它的效果与物理拔掉网络摄像头相同。这至少使摄像头可用于 Zoom,因为与 Skype 不同,它在设备重置时不会完全失灵。不过,我仍在寻找合适的解决方案。
答案2
我的 Dell XPS 15 L502X 集成网络摄像头也出现了类似的问题,这显然是硬件问题:如果在开始拍摄时,将光线(例如智能手机手电筒)照射到网络摄像头上,问题就会得到解决。似乎需要较高的光阈值才能激活。希望这对您有所帮助。致以最诚挚的问候。