如何检查网络摄像头是否损坏?

如何检查网络摄像头是否损坏?

我刚买了一台 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 是常见的),请使用它。

相关内容