Fswebcam es una aplicación de software libre para sistemas GNU/Linux con la que configurar diferentes parámetros de tu web cam y capturar imágenes desde la línea de comandos

Ya sea porque quieres utilizar tu cámara web para sacar fotografías controlada por un script, o porque quieres una aplicación para sacar fotografías que sea sencilla y ligera, fswebcam es una de las opciones a tener en cuenta.
Vamos a revisar sus opciones y cómo podemos utilizarla en nuestros sistemas GNU/Linux.
Fswebcam es un software para sacar fotografías usando la cámara web integrada de tu equipo o una que conectes, la gestión se realiza desde la línea de comandos. Ya sea introduciendo las opciones que queramos a mano, o mediante un archivo de configuración que podemos crear.
Lo primero es instalarla, ya sea desde los repositorios de tu distribución o desde el código fuente y después compilar. A la hora de escribir este artículo la versión más reciente es la 20200725.
Una vez instalada en nuestro equipo, desde la terminal podemos lanzar un fswebcam --help
para que nos muestre la cantidad de opciones de las que dispone. Vamos a ver simplemente algunas de ellas, te dejo a ti que explores todas las opciones disponibles.
De manera predeterminada utiliza el dispositivo: /dev/video0
Pero con fswebcam -d
nos mostrará un listado de las opciones posibles y podremos seleccionar una u otra con fswebcam -d 0
por ejemplo.
La resolución predeterminada de las imágenes es de 384×288, pero la podremos cambiar añadiendo la opción --resolution 768x576
por ejemplo
Podemos guardar las imágenes en diferentes formatos, por ejemplo, PNG, JPEG o WEBP, y con diferentes tipos de compresión.
A la imagen generada, de manera predeterminada le añade en la parte inferior un «banner» o barra y debajo diferentes textos que podemos añadir. O si lo preferimos podemos eliminar dicha barra, o ubicarla en la parte superior.
Veamos algunas de las múltiples opciones que dispone fswebcam a la hora de gestionar tu webcam para sacar una fotografía:
- -s, –set <nombre>=<valor> Establece un valor al control de la camára que deseemos.
- –list-controls Muestra los valores de control que dispone la cámara.
- –flip <dirección> Voltea la imagen ya sea en vertical u horizontal o ambas a la vez (h, v)
- –crop <tamaño>[,<offset>] Corta una parte de la imagen.
- –scale <tamaño> Escala la imagen al tamaño indicado.
- –rotate <ángulo> Gira la imágen en los ángulos indicados.
- –invert Invierte los colores de la imagen, quedando como un negativo fotográfico.
- –greyscale Elimina los colores de la imagen.
- –swapchannels <c1c2> Intercambia los canales RGB de la imagen canal 1 y canal 2.
- –no-banner Oculta el «banner» que muestra información.
- –top-banner Ubica el «banner» en la parte superior de la imagen.
- –bottom-banner Ubica el «banner» en la parte inferiror (es la opción predeterminada).
- –banner-colour <color> Establece un color del «banner». (#AARRGGBB)
- –line-colour <color> Establece el color de la línea del «banner».
- –text-colour <color> Establece el color del texto.
- –title <texto> Establece el título principal en el «banner» (en la parte superior izquierda)
- –subtitle <texto> Establece un subtítulo en el «banner» (en la parte inferior izquierda)
- –timestamp <formato> Establece el formato en que mostrará la fechaen la parte derecha
- –info <texto> Establece un texto en el «banner» en la parte inferior derecha
- –jpeg <factor> Imagen en formato JPEG (-1, 0 – 95)
- –png <factor> Imagen en formato PNG (-1, 0 – 9)
- –webp <factor> Imagen en formato WEBP (-1, 0 – 100)
–save <nombre> Nombre con el que guarda la imagen. - –exec <command> Ejecuta un comando y espera a que se complete.
Todos estos entre otros muchos están disponibles y los podremos utilizar o no. También podemos configurar las opciones que queremos que sean las predeterminadas en un archivo de configuración al que llamaremos cuando ejecutemos fswebcam.
En ese archivo de configuración escribiremos las opciones en su formato largo, pero eliminando los dos guiones (–). Podemos incluir comentarios que deberán ir precedidos con un símbolo #
Por ejemplo un archivo de configuración podría ser:
title hola
subtitle mundo
timestamp "%Y-%m"
info probando
swapchannels RG
webp -1
save "%Y-%m-%d_captura.webp"
A este archivo le llamamos por ejemplo fswebcam.conf y ejecutaríamos lo siguiente fswebcam -c ~/.config/fswebcam.conf
y siempre utilizaría las opciones del archivo.
También podemos mezclar y ejecutar fswebcam con alguna opción y además el archivo de configuración, por ejemplo: fswebcam --resolution 768x576 -c ~/.config/fswebcam.conf
Puede ser una muy buena herramienta para sacar imágenes desde nuestro dispositivo, controlado por un script.
Espero que te haya resultado interesante si no conocías la herramienta. Si ya la utilizabas puedes aportar en los comentarios cómo la usas y qué uso le das.
Enlaces de interés

Pues no la tenia en mi radar. Me la llevo a casa, se me hace muy interesante.
Saludos.
¡Justo lo que buscaba! Muchas gracias.
Me alegro que te resulte útil!
Gracias por comentarlo!! 🙂
Saludos.