Como verificar se uma webcam está quebrada?

2

Acabei de comprar um Acer Aspire 3830TG, ele vem com uma webcam integrada de 1.3M HD. Antes de comprá-lo eu tentei com um stick usb Lubuntu inicializável, tudo funcionou bem, exceto para a webcam, que eu pensei que eu tinha que ajustar.

A coisa é que parece que a câmera deve funcionar sem problemas no Ubuntu. O driver é detectado, eu tentei

dmesg | grep uvcvideo

e a saída é

[   12.226174] uvcvideo: Found UVC 1.00 device 1.3M HD WebCam (058f:b002)
[   12.245553] usbcore: registered new interface driver uvcvideo

Eu também tentei usar software diferente (o guvcview é preto quando a saída da câmera é MJPG e se transforma em cores engraçadas quando YU12 ou YV12, o queijo é sempre preto, o camorama está sempre com cores engraçadas).

Eu deveria ter verificado se estava funcionando corretamente com o sistema operacional padrão (windows), mas agora é tarde demais para isso. Eu até inicializei com uma distribuição oficial do Ubuntu Quantal da caneta usb, e os resultados são os mesmos.

Existe alguma maneira de verificar se a câmera está direita ou quebrada? Então, se estiver quebrado, pelo menos eu posso ir à loja, mostrar a eles que está realmente quebrado e ter uma webcam externa de graça, ou algo assim.

UPDATE 1

Eu corri sudo lsinput e as informações de saída sobre o meu vídeo são as seguintes:

/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

Com essa informação, não tenho certeza sobre a execução do comando luvcview . Quando executo luvcview -d /dev/video0 -L , a saída é a seguinte:

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,

Se eu executo luvcview por si só, a imagem é engraçada (cores azul e vermelha, principalmente eu mesmo em estado negativo).

    
por didgewind 24.10.2012 / 03:37

1 resposta

0

Instale o pacote "input-utils" e faça um "sudo lsinput". Você verá muitos dispositivos, mas procure os vídeos.

Se isso funcionar, instale o pacote "luvcview" e faça "luvcview -d / dev / video0 -L" e veja se ele se conecta e produz os recursos do seu dispositivo. Se o seu lsinput indica que é algum outro dispositivo (/ dev / video1 é comum), use isso.

    
por Josh Poulson 24.10.2012 / 08:12