Me veo borroso en Linux
Hace algún tiempo que vengo observando que mi webcam no se comporta como debía. Básicamente, en algún que otro vídeo me he encontrado que aparezco como difuminado, vamos que me veo borroso en Linux. Esto no es algo que me suceda solo en Linux, sino que también me estaba sucediendo en Windows. Hasta el momento no le había prestado mucha importancia, hasta que recientemente esto se ha venido a acentuar, y en algún caso a convertirse en un problema.
Así en este episodio del podcast, te cuento como lo he solucionado, y sobre una nueva aplicación que también pongo a tu disposición para el caso de que la quieras utilizar. Por supuesto, que tienes otras opciones, de las que también te hablaré en este episodio. De esta manera, tu puedes elegir la opción que mas te guste, y en su caso, compartirla conmigo.
Me veo borroso en Linux
Sobre el episodio de Wintablet
El episodio 160 de Wintablet estuvo dedicado a Linux. Todo esto estaba motivado por una serie de episodios que dedicó rfog a los tres sistemas operativos principales, en su podcast irreverente y carente de toda vergüenza, como el mismo dice Leña al mono que es de goma. Durante el episodio que puedes ver en el propio canal de YouTube de WinTablet, hubo un momento en que yo aparecía borroso.
Ciertamente tratándose de la temática que trataba el podcast, ya puedes imaginar, las burlas y risas que se produjeron a mi costa. Siempre desde el respeto por supuesto, aquí no se trataba hacer leña del árbol caído, ni mucho menos. Sin embargo, realmente fue mucha casualidad. Lo cierto es que nadie le dio mas importancia de la que pueda tener, teniendo en cuenta del momento en que se produjo
También me veo borroso en Windows
Pero esto no es nada nuevo, y nada que me haya sucedido por primera vez. Y tampoco es algo que me haya sucedido solo en Linux. Lo cierto es que la primera vez que me sucedió fue precisamente en Windows. Hasta la fecha no le he dado mucha importancia. Sin embargo, en las últimas reuniones online a las que he asistido, este comportamiento erróneo se ha acentuado, con lo que empezaba a preocuparme.
La primera idea fue buscar a lo largo y ancho de Internet en busca de una solución. Y ciertamente el fabricante de la webcam, Logitech tiene una aplicación y controlador para gestionar la webcam, pero por determinadas circustancias yo no puedo instalarla, con lo que lamentablemente me van a tener que seguir viendo borroso cuando utilice Windows, y la webcam así lo considere.
Soluciones para Linux
Evidentemente, y como ya te imaginas, para el caso de Linux si que encontré una solución o varias realmente. Ciertamente, no existe controlador o aplicación de Logitech para Linux, pero no es necesario. No me hace falta.
v4l2-ctl
Todo se basa en utilizar v4l2-ctl
, una aplicación que se habla con los controladores de webcams. El problema de esta aplicación es que se trata de una herramienta para la terminal, con lo que si no te llevas bien con la terminal es un inconveniente.
Pero no es este el único inconveniente. Cada vez que inicias tu equipo, los valores que hayas configurado para este webcam se pierden, y se establecen los que vienen por defecto. Para el primer caso, es tan sencillo como crear un script que configure la webcam cada vez que inicias el equipo, algo como esto,
#!/bin/bash
v4l2-ctl --set-ctrl=brightness=128 --device /dev/video0
v4l2-ctl --set-ctrl=contrast=128 --device /dev/video0
Este sencillo script, con todos aquellos parámetros que quiera configurar, tan solo tengo que ponerlos en ~/.bashrc
o ~/.zshrc
, de cada uno de los usuarios, y problema resuelto. Por otro lado, puedes ver la configuración de tu webcam, utilizando este otro comando,
v4l2-ctl --list-ctrls --device /dev/video0
El problema, me lo podría encontrar en el caso de que se conectara o desconectara una webcam. En este caso, el usuario tendría que lanzar el script a mano, con el inconveniente que esto tiene, para el caso de que no utilices la terminal.
Automatizar el script
La siguiente opción es automatizar el script utilizando el subsistema udev
para establecer la configuración. Para esto es necesario obtener la identificación de tu webcam. Esto lo puedes hacer ejecutando el siguiente comando en un terminal
$ lsusb
Bus 001 Device 021: ID 046d:c52f Logitech, Inc. Unifying Receiver
El identificador que estamos buscando es 046d:c52f
. A partir del mismo tienes que crear el siguiente archivo /etc/udev/rules.d/99-local-webcam.rules
y en el mismo, establecer todas las configuraciones que consideres. Por ejemplo,
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl brightness=128 --device /dev/%k"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl contrast=128 --device /dev/%k"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl saturation=128 --device /dev/%k"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl focus_auto=0 --device /dev/%k"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl focus_absolute=0 --device /dev/%k"
SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", PROGRAM="/usr/bin/v4l2-ctl --set-ctrl zoom_absolute=100 --device /dev/%k"
O incluso ponerlo todo en un script, que creo que sería la forma mas sencilla, cómoda y práctica de hacerlo. Sin embargo, el problema, es que estos ajustes se aplicarán a todos los usuarios que utilicen tu equipo.
Webcam-Indicator
Para resolver estos problemas y para dar mas posibilidades a la herramienta he implementado una sencilla aplicación que te va a permitir no solo gestionar el auto focus, sino también establecer el enfoque y otros parámetros. Si bien, para esta primera versión solo me he centrado en el auto focus, que es lo que ahora mismo me preocupa, en siguientes versiones, iré dando mas prestaciones, porque la base de la aplicación ya está hecha.
La aplicación es un indicador, que se sitúa en el área de indicadores, y te muestra si en alguna de las cámaras está habilitado el autofocus, y en ese caso deshabilitarlo de forma sencilla. Además te permite establecer el valor del enfoque.
Ahora mismo no está disponible para la instalación. En cuanto lo esté lo pondré aquí mismo e indicaré la forma de instalarlo.
Imagen de portada de Clem Onojeghuo
Más información,
La entrada Me veo borroso en Linux aparece primero en Atareao.