Capturar imágenes con tu webcam desde la terminal en Linux con fswebcam

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

Imagen: Markus Freak

3 comentarios sobre “Capturar imágenes con tu webcam desde la terminal en Linux con fswebcam

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.