En este artículo voy a demostrar cómo detectar una Webcam (cámara Web) y verificar su funcionamiento en GNU/Linux con la aplicación Webcamoid.
Más específicamente se trata de una Webcam USB. Antes de conectarla existen los siguientes dispositivos USB en el sistema:
root@vaio:/home/emi# lsusb Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 5986:02d3 Acer, Inc Bus 001 Device 005: ID 0489:e036 Foxconn / Hon Hai Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
A fin de saber con exactitud cuál dispositivo corresponde con la Webcam, conviene guardar la salida de lsusb
antes de conectarla a un puerto USB.
root@vaio:/home/emi# lsusb > /tmp/lsusb.1
Conectar la cámara a un puerto USB. Luego de hacerlo, el kernel Linux debería detectar el nuevo dispositivo:
root@vaio:/home/emi# tail -n 17 /var/log/messages Aug 11 11:23:14 vaio kernel: [ 717.997321] usb 2-2: new full-speed USB device number 5 using xhci_hcd Aug 11 11:23:14 vaio kernel: [ 718.146623] usb 2-2: config 1 interface 0 altsetting 1 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146628] usb 2-2: config 1 interface 0 altsetting 2 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146631] usb 2-2: config 1 interface 0 altsetting 3 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146635] usb 2-2: config 1 interface 0 altsetting 4 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146639] usb 2-2: config 1 interface 0 altsetting 5 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146642] usb 2-2: config 1 interface 0 altsetting 6 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146644] usb 2-2: config 1 interface 0 altsetting 7 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146647] usb 2-2: config 1 interface 0 altsetting 8 endpoint 0x6 has invalid wMaxPacketSize 0 Aug 11 11:23:14 vaio kernel: [ 718.146654] usb 2-2: New USB device found, idVendor=093a, idProduct=2628, bcdDevice= 1.00 Aug 11 11:23:14 vaio kernel: [ 718.146657] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 Aug 11 11:23:14 vaio kernel: [ 718.147883] gspca_main: gspca_pac7302-2.14.0 probing 093a:2628 Aug 11 11:23:14 vaio kernel: [ 718.148274] input: gspca_pac7302 as /devices/pci0000:00/0000:00:14.0/usb2/2-2/input/input18 Aug 11 11:23:14 vaio mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2" Aug 11 11:23:14 vaio mtp-probe: bus: 2, device: 5 was not an MTP device Aug 11 11:23:14 vaio mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2" Aug 11 11:23:14 vaio mtp-probe: bus: 2, device: 5 was not an MTP device
En este caso se observa el mensaje "New USB device found, idVendor=093a, idProduct=2628, bcdDevice= 1.00".
Ahora debería aparecer el nuevo dispositivo en la salida de lsusb
:
root@vaio:/home/emi# lsusb Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 5986:02d3 Acer, Inc Bus 001 Device 005: ID 0489:e036 Foxconn / Hon Hai Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 005: ID 093a:2628 Pixart Imaging, Inc. Bus 002 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Para identificarlo más rápidamente es conveniente volver a volcar la salida de lsusb
a un nuevo archivo:
root@vaio:/home/emi# lsusb > /tmp/lsusb.2
Luego comparar ambos (antes y después de conectar el dispositivo):
root@vaio:/home/emi# diff /tmp/lsusb.1 /tmp/lsusb.2 7a8 > Bus 002 Device 005: ID 093a:2628 Pixart Imaging, Inc.
Se observa que es dispositivo número 5 en el bus 2: "Pixart Imaging, Inc."
Generalmente no es necesario instalar ningún tipo de controlador para que la cámara funcione, salvo casos muy específicos (ver las referencias al final del artículo).
Prueba de la cámara con Webcamoid
Webcamoid es una de las mejores aplicaciones para Webcam disponibles para GNU/Linux (aunque además está disponible para Mac y Windows). Para instalar Webcamoid en Debian/Devuan y derivados, simplemente ejecutar:
# apt-get install webcamoid
Iniciar la aplicación ejecutando webcamoid
o en XFCE desde el menú "Multimedia > Webcamoid":

Para configurar la nueva cámara, hacer clic en el ícono con forma de cámara con la leyenda "Configure sources". Luego presionar el botón "+":

Agregar una descripción y ruta al dispositivo. Típicamente será el dispositivo /dev/video1
, /dev/video2
, /dev/video3
etc.

Finalmente seleccionar la nueva cámara agregada desde el panel izquierdo:

Como se observa, Webcamoid posee una gran cantidad de efectos a aplicar:

Además permite tomar fotos y grabar video.
Referencias