Notice: La función _load_textdomain_just_in_time ha sido llamada de forma incorrecta. La carga de la traducción para el dominio neve se activó demasiado pronto. Esto suele ser un indicador de que algún código del plugin o tema se ejecuta demasiado pronto. Las traducciones deberían cargarse en la acción init o más tarde. Por favor, ve depuración en WordPress para más información. (Este mensaje fue añadido en la versión 6.7.0). in /var/www/vhosts/indaloweb.es/public_html/wp-includes/functions.php on line 6114
Optimizar imagenes JPG y PNG desde consola Linux – IndaloWeb
Saltar al contenido

Optimizar imagenes JPG y PNG desde consola Linux

  • por

 

jpegoptim

Empecemos con jpegoptim y con su sintaxis más básica (atención: esto sobrescribe el archivo original):

jpegoptim archivo.jpg
archivo.jpg 3292×2260 24bit N Exif JFIF [OK] 4800621 –> 4635945 bytes (3.43%), optimized
Si deseamos que la imagen resultante vaya a otro directorio para no sobreescribirla lo hacemos con “-d” y a continuación ponemos la ruta:

jpegoptim -d ~/blog file.jpg
Se pueden optimizar varios archivos a la vez:

jpegoptim imagen1.jpg imagen2.jpg imagen3.jpg
utilizar comodines para abarcar todos los archivos contenidos en un directorio. Basta situarse con la terminal dentro del mismo y ejecutar:

jpegoptim *.jpg
El algoritmo de reducción utilizado por defecto es bastante conservador, comprimiendo sin apenas perdida.
Si queremos afinar más, y no nos importa perder algo de calidad para que el archivo ocupe menos, lo podemos hacer con el parámetro “-m” estableciendo un valor entre 0 y 100. Por ej.

jpegoptim -m70 archivo.jpg
Pero eso es jugar un poco a la lotería, así que vamos a ver como podemos simular esa compresión antes de ejecutarla y ver cuanto espacio ahorramos:

jpegoptim -n -t -m70 archivo.jpg

archivo.jpg 3292×2260 24bit P JFIF [OK] 4483338 –> 619895 bytes (86.17%), optimized
Si queremos especificar un valor determinado (100 kB en este ejemplo) lo hacemos con la opcion -S

optipng

optipng archivo.png

** Processing: archivo.png
1638×1212 pixels, 4×8 bits/pixel, RGB+alpha
Reducing image to 3×8 bits/pixel, RGB
Input IDAT size = 6285295 bytes
Input file size = 6287644 bytes

Trying:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 5611598
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 3397112

Selecting parameters:
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 3397112

Output IDAT size = 3397112 bytes (2888183 bytes decrease)
Output file size = 3397169 bytes (2890475 bytes = 45.97% decrease)
Por supuesto podemos optimizar varios archivos PNG a la vez:

optipng imagen1.png imagen2.png imagen3.png. Imagen4.png
utilizar comodines como vimos en el caso anterior:

optipng *.png
e incluso hacerlo de forma recursiva (con jpegoptim no probé, pero supongo que debería funcionar igual), para optimizar en directorios y subdirectorios:

find -type f -name «*.png» -exec optipng {} \;
Instalación
Tanto jpegoptim como optipng están en los repositorios de las principales distribuciones GNU/Linux,
Comando recursivo:

find -type f -name «*.jpg» -exec jpegoptim –strip-all {} \;

Un saludo
El equipo de Indaloweb