Optimización masiva de imágenes JPEG y PNG desde la terminal de Linux.
Autor: Joel Barrios
September 15th at 5:54am

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.