Webcam setup (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Estado de la traducción: esta traducción de Webcam setup fue revisada el 2019-02-13. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Esta es una guía para configurar su webcam en Arch Linux.

Lo más probable es que su webcam funcione sin necesidad de configuración. Los permisos para acceder a los dispositivos de vídeo (por ejemplo, /dev/video0) son manejados por udev, no es necesaria ninguna configuración.

Cargar

Identifique el nombre de su webcam (utilizando, por ejemplo, lsusb) y encuentre el controlador adecuado. Véase dispositivos webcam para obtener detalles sobre los controladores.

Agregue el módulo del kernel de su webcam a /etc/modules-load.d/webcam.conf para que se cargue en el kernel durante la etapa inicial del arranque.

Si su webcam funciona por USB, el kernel debería cargar automáticamente el controlador adecuado. Si este es el caso, compruebe dmesg después de conectar su webcam. Debería ver algo así:

# dmesg|tail
sn9c102: V4L2 driver for SN9C10x PC Camera Controllers v1:1.24a
usb 1-1: SN9C10[12] PC Camera Controller detected (vid/pid 0x0C45/0x600D)
usb 1-1: PAS106B image sensor detected
usb 1-1: Initialization succeeded
usb 1-1: V4L2 device registered as /dev/video0
usb 1-1: Optional device control through 'sysfs' interface ready
usbcore: registered new driver sn9c102

Configuración

Si desea configurar el brillo, el color y otros parámetros de la webcam (por ejemplo, en el caso de que los colores sin necesidad de configuración sean demasiado azulados/rojizos/verdosos) puede usar Qt V4L2 Test Bench (qv4l2), disponible en el paquete v4l-utils. Simplemente instálelo y ejecútelo, y le presentará una lista de ajustes configurables. Cambiar estos ajustes afectará a todas las aplicaciones.

Aplicaciones

Véase también Lista de aplicaciones/Multimedia#Webcam.

xawtv

Este es un visor de dispositivo v4l básico, y aunque está diseñado para usarse con tarjetas sintonizadoras de TV, funciona bien con webcams. Mostrará lo que ve su webcam en una ventana. Instálelo (xawtv) y ejecútelo con:

$ xawtv -c /dev/video0

Si está utilizando una tarjeta gráfica nVidia, y obtiene un error como

X Error of failed request:  XF86DGANoDirectVideoMode
 Major opcode of failed request:  139 (XFree86-DGA)
 Minor opcode of failed request:  1 (XF86DGAGetVideoLL)
 Serial number of failed request:  69
 Current serial number in output stream:  69

en su lugar debería ejecutarlo como:

$ xawtv -nodga

VLC

VLC también se puede usar para ver y grabar su webcam. En el menú "Medio" de VLC, abra el cuadro de diálogo 'Dispositivo de captura ...' e ingrese los archivos del dispositivo de vídeo y audio. O desde la línea de comando, haga:

$ vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2"

Esto hará que VLC refleje su webcam. Para tomar instantáneas, simplemente elija 'Instantánea' en el menú 'Vídeo'. Para grabar una transmisión, agregue un argumento --sout. Por ejemplo:

$ vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2" \ 
  --sout "#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/tmp/test.mpg}}"

(Obviamente, es un poco exagerado con respecto a las tasas de bits, pero está bien para propósitos de testeo). Tenga en cuenta que esto no producirá un espejo en la pantalla - para ver lo que está grabando, deberá agregar el monitor como un argumento de destino:

... :duplicate{dst=display,dst=std{access= ....

(Aunque esto puede cargar un poco el hardware antiguo...)

MPlayer

Para usar MPlayer para tomar instantáneas de su webcam, ejecute este comando desde la terminal:

$ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot

Desde aquí, debe pulsar s para tomar la instantánea. La instantánea se guardará en su carpeta actual como shotXXXX.png. Si desea grabar un vídeo continuo:

$ mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o filename.avi

Presione Ctrl+c para finalizar la grabación.

mpv

Para usar mpv para tomar instantáneas desde su webcam, ejecute este comando desde la terminal:

$ mpv av://v4l2:/dev/video0

Para utilizar MJPEG como formato de pixel en lugar del predeterminado (en muchos casos, YUYV), puede hacer lo siguiente:

$ mpv --demuxer-lavf-format video4linux2 --demuxer-lavf-o-set input_format=mjpeg /dev/video0

En algunos casos, esto puede llevar a mejoras drásticas en la calidad y el rendimiento (5FPS -> 30FPS por ejemplo).

Desde aquí, debe pulsar s para tomar la instantánea. La instantánea se guardará en su carpeta actual como mpv-shotNNNN.jpg.

FFmpeg

Véase FFmpeg#Grabación de la webcam.

Solución de problemas

Soporte V4L1

La versión 2.6.27 del kernel de Linux eliminó la compatibilidad con la API de Video4Linux (1) heredada. La decodificación en formato de píxeles se ha insertado en el espacio del usuario, ya que la versión 2 de Video4Linux no admite la decodificación del espacio del kernel. La librería libv4l proporciona aplicaciones de usuario con servicios de decodificación de píxeles y será utilizada por la mayoría de los programas. Otras capas de compatibilidad también están disponibles.

Si su dispositivo está creado pero la imagen se ve extraña (por ejemplo, casi completamente verde), probablemente necesite esto.

Si la aplicación es compatible con V4L2 pero no es compatible con pixelformat, use el siguiente comando:

LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so application

Si la aplicación solo admite la versión antigua de V4L, use este comando:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so application
Sugerencia: También le convendría agregar la siguiente línea a /etc/profile o xprofile para que no tenga que escribir ese largo comando todo el rato:
export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so

o

export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

Para aplicaciones multilib de 32 bits, instale el paquete lib32-v4l-utils y reemplace /usr/lib/libv4l/ por /usr/lib32/libv4l/ en los comandos anteriores.

Microsoft Lifecam Studio/Cinema

Bajo ciertas configuraciones, Microsoft lifecam studio/cinema puede solicitar demasiado ancho de banda de usb y fallar. Véase las preguntas frecuentes sobre Uvcvideo. En este caso, cambie el búfer cargando el controlador uvcvideo con quirks=0x80. Agréguelo a /etc/modprobe.d/uvcvideo.conf:

/etc/modprobe.d/uvcvideo.conf
## fix bandwidth issue for lifecam studio/cinema
options uvcvideo quirks=0x80
Nota: Si los retrasos son visibles en los registros, o la cámara funciona periódicamente, esta solución debería aplicarse en general. Valores más grandes como quirks=0x100 son posibles.

Skype

Al probar la webcam, tenga en cuenta lo siguiente:

  • Echobot no soporta vídeochat. No lo use para probar su webcam.
  • Skype puede reconocer diferentes dispositivos de vídeo/cámara (/dev/video*). Se enumerarán y nombrarán algo así como "cámara integrada ..." en un menú desplegable en la configuración de la cámara. Pruebe cada cámara y espere unos segundos, porque lleva tiempo cambiar a una cámara distinta.

Comprobar el ancho de banda utilizado por las webcams USB

Cuando se ejecutan varias webcams en un único bus USB, pueden llegar a saturar el ancho de banda del bus USB y dejar de funcionar correctamente. Esto puede ser diagnosticado con la herramienta usbtop del paquete usbtopAUR.