Pasan los años y muy probablemente la carpeta de imágenes de su escritorio Linux está llena de cientos o miles de fonde de pantalla diversos, fotografías, memes, imágenes curiosas y un sin fin de archivos en formatos JPEG y PNG. En otro artículo mencioné como hacer conversión masiva de éstos formatos a WebP. En esta ocasión explicaré cómo optimizar el tamaño de los archivos en formato JPEG y PNG, sin sacrificar calidad y de este modo lograr ahorrar muchos MB o GB de espacio de almacenamiento.

Para realizar la optimización de imágenes en formato JPEG y PNG, se utilizarán tres herramientas:

  • find, un programa para la terminal que sirve para realizar búsqueda de archivos.
  • jpegoptim, un programa específico para la optimización de imágenes en formato JPEG.
  • optipng, un programa específico para la optimización de imágenes en formato PNG.
  • parallel, un útil y versátil programa que sirve para ejecutar múltiples tareas en paralelo.

De modo predeterminado tanto jpegoptim como pngoptim realizan una optimización muy segura sin sacrificar calidad, a diferencia de otras herramientas como pngcrush y pngquant en donde hay reducción de paleta de colores. Una vez que se ha optimizado una imagen con cualquiera de las dos herramientas recomendadas, ambas añaden una cabecera que indica que ya ha sido optimizada la imagen para prevenir que se vuelva a ejecutar sobre ésta alguna de las herramientas de optimización.

La instalación en cualquier distribución Linux de estas herramientas se puede hacer utilizando pkcon:

pkcon -y install findutils jpegoptim optipng parallel

O bien usando yum en ALDOS:

yum -y install findutils jpegoptim optipng parallel

O bien usando dnf en Fedora, RHEL y derivados:

dnf -y install findutils jpegoptim optipng parallel

O bien usando apt-get en Debian, Ubuntu y derivados:

apt-get -y install findutils jpegoptim optipng parallel

Asumiremos que todas las imágenes en formato JPEG y PNG están almacenadas debajo de la carpeta ~/Imágenes y que usted realmente quiere optimizar éstas para que utilicen menos espacio sin sacrificar calidad.

Compruebe cuánto espacio de almacenamiento utiliza actualmente la carpeta ~/Imágenes ejecutando lo siguiente:

du -sh ~/Imágenes

Anote el resultado y compare éste con la medición que se hará al final de los procedimientos.

Respalde su carpeta de ~/Imágenes si prefiere probar primero con un pequeño lote de imágenes.

Ejecute lo siguiente para realizar una búsqueda de todas las imágenes en formato JPEG, realizar optimización de cada una de éstas con jpegoptim y mostrar una barra de progreso:

find ~/Imágenes -type f -name "*.jpg" | parallel --bar --eta jpegoptim --quiet "{}"

Ejecute lo siguiente para realizar una búsqueda de todas las imágenes en formato PNG, realizar optimización de cada una de éstas con optipng y mostrar una barra de progreso:

find ~/Imágenes -type f -name "*.png" | parallel --bar --eta optipng -quiet "{}"

Las comillas dobles son indispensables alrededor de los corchetes a fin de poder optimizar imágenes cuyos nombres de archivos incluyen espacios y otros caracteres distintos a los alfanuméricos. Hago énfasis en que para jpegoptim se usa la opción --quiet con doble guión medio, mientras que para optipng la opción -quiet sólo lleva un único guión medio.

Compruebe cuánto espacio de almacenamiento utiliza ahora la carpeta ~/Imágenes ejecutando lo siguiente:

du -sh ~/Imágenes

Compare el resultado inicial del espacio de almacenamiento utilizado por esta carpeta antes y después de optimizar las imágenes en formato JPEG y PNG.

Puede confirmar que las imágenes conservan la misma calidad utilizando cualquier visor de imágenes como Gwenview, Geeqie, Gthumb o Pix.

Siguiente Entrada Entrada Anterior