![如何检查网络摄像头是否损坏?](https://linux22.com/image/1097216/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%E7%BD%91%E7%BB%9C%E6%91%84%E5%83%8F%E5%A4%B4%E6%98%AF%E5%90%A6%E6%8D%9F%E5%9D%8F%EF%BC%9F.png)
我刚买了一台 Acer Aspire 3830TG,它配备了集成的 1.3M 高清网络摄像头。在购买之前,我尝试使用可启动的 Lubuntu USB 棒,除了网络摄像头之外,一切都运行良好,我认为我必须对其进行调整。
问题是,相机在 ubuntu 中似乎应该可以正常工作。驱动程序已检测到,我试过了
dmesg | grep uvcvideo
输出为
[ 12.226174] uvcvideo: Found UVC 1.00 device 1.3M HD WebCam (058f:b002)
[ 12.245553] usbcore: registered new interface driver uvcvideo
我也尝试过使用不同的软件(当相机输出为 MJPG 时,guvcview 为黑色,当为 YU12 或 YV12 时,会变成奇怪的颜色,cheese 始终为黑色,camorama 始终带有奇怪的颜色)。
我应该检查它是否在默认操作系统(Windows)下正常运行,但现在为时已晚。我甚至从 USB 笔启动了官方 Ubuntu Quantal 发行版,结果是一样的。
有什么方法可以检查摄像头是否正常或损坏?如果摄像头坏了,至少我可以去商店,向他们证明摄像头确实坏了,然后免费获得一个外置摄像头,或者类似的东西。
更新 1
我运行了sudo lsinput
,关于我的视频的输出信息如下:
/dev/input/event6
bustype : BUS_USB
vendor : 0x58f
product : 0xb002
version : 2
name : "1.3M HD WebCam"
phys : "usb-0000:00:1a.0-1.3/button"
bits ev : EV_SYN EV_KEY
/dev/input/event7
bustype : BUS_HOST
vendor : 0x0
product : 0x6
version : 0
name : "Video Bus"
phys : "LNXVIDEO/video/input0"
bits ev : EV_SYN EV_KEY
有了这些信息,我不确定是否运行该luvcview
命令。当我运行 时luvcview -d /dev/video0 -L
,输出如下:
SDL information:
Video driver: x11
A window manager is available
Device information:
Device path: /dev/video0
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/7, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/7, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/7, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/7, 1/5,
{ pixelformat = 'MJPG', description = 'MJPEG' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/15, 1/10, 1/5,
{ pixelformat = 'RGB3', description = 'RGB3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/15, 1/10, 1/5,
{ pixelformat = 'BGR3', description = 'BGR3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/15, 1/10, 1/5,
{ pixelformat = 'YU12', description = 'YU12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/15, 1/10, 1/5,
{ pixelformat = 'YV12', description = 'YV12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/15, 1/10, 1/5,
如果我单独运行 luvcview,图像会很有趣(主要是蓝色和红色,我自己处于负面状态)。
答案1
安装“input-utils”包并执行“sudo lsinput”。您将看到很多设备,但请查找视频设备。
如果可行,请安装软件包“luvcview”并执行“luvcview -d /dev/video0 -L”,看看它是否连接并输出设备的功能。如果您的 lsinput 指示它是其他设备(/dev/video1 是常见的),请使用它。