Días atrás escribimos un tutorial muy útil sobre cómo optimizar/comprimir archivos PNG en Linux usando el fantástico comando optipng. Sin embargo, muchos usuarios también tienen archivos JPG/JPEG, que son muy utilizados para fotografías de alta resolución. ¿Cuál es el comando de optimización de imágenes jpeg de Linux para comprimir esos archivos?
¿Qué es el formato JPG?
El formato de archivo JPG es uno de los formatos de imagen más antiguos y utilizados en la red mundial. Es realmente útil y sugerido para imágenes fotográficas de alta resolución. JPEG permite varios grados de compresión que se pueden ajustar manualmente cuando toma una foto o edita una imagen en un editor de fotos, el nivel de compresión se puede establecer entre 10:1 con poca o ninguna pérdida perceptible en la calidad de la fotografía.
Jpegoptim:el mejor comando de optimización de imágenes Jpeg de Linux
Las fotos jpeg pueden consumir su ancho de banda si no las optimiza. Muchos usuarios suelen tomar una foto con sus teléfonos o cámaras digitales, y debido a la alta resolución/calidad de esas cámaras, el resultado es una gran foto, sin embargo, cuando carga esas imágenes en un sitio web, notará que tardan una eternidad en cargar.
En esta publicación intentaremos responder preguntas como:
- ¿Cómo puedo comprimir/optimizar imágenes JPEG en mi servidor Linux?
- ¿Cómo puedo ahorrar ancho de banda en mis imágenes de CDN en Amazon Cloud front, Cloudflare o MaxCDN?
- ¿Es posible usar un compresor de imágenes para crear una compresión sin pérdidas en archivos JPEG / JPEG de forma masiva usando Linux y, al mismo tiempo, evitar la pérdida de calidad de imagen?
Veamos cuáles son las mejores opciones para comprimir archivos jpeg, hay muchas herramientas de compresión jpeg en línea, sin embargo, si tiene un control completo de raíz sobre su servidor Linux / Unix, hay una mejor manera de optimizar jpeg, usaremos un famoso herramienta de compresión jpeg (un reductor de jpg) que hará todo el trabajo por usted.
Olvídese de las viejas formas lentas de optimizar jpeg y optimizar archivos jpg usando compresores en línea, con jpegtrim podrá incluso comprimir múltiples archivos jpg con un solo comando. Comencemos.
Optimice sus archivos JPEG de dos formas
1) Reducir la resolución de la foto
Puede usar editores de imágenes simples como GIMP, que está disponible para todas las principales distribuciones de Linux. Si toma una foto y es de 2000 × 1024 píxeles, redúzcala a la mitad, aún tendrá una imagen grande y agradable, y su tamaño de jpeg será un 50 % menor.
2) Usa jpegoptim para optimizar el tamaño de JPG
El comando jpegoptim es el que hará toda la magia. Es una herramienta basada en la línea de comandos que lo ayudará a optimizar/comprimir archivos jpeg. Esta aplicación le permite una optimización sin pérdidas al optimizar las tablas JPG de Huffman. Esto también se conoce como optimización de imágenes con "pérdida".
Este comando es útil para cualquier tipo de servidor basado en Linux, funcionará en servidores dedicados, servidores vps, servidores en la nube y, por supuesto, si usa un CDN como Akamaik, Cloudfront, Cloudflare, StackPath (MaxCDN), lo ayudará. para reducir el tamaño final del archivo, ahorrando ancho de banda en su proveedor de CDN día a día.
Instalar jpegoptim en Ubuntu/Debian
Ejecute este comando apt-get para instalar esta herramienta en servidores basados en Debian:
apt-get install jpegoptim
Instalar jpegoptim en CentOS/RHEL/Fedora
Instale el repositorio EPEL para asegurarse de que obtendrá jpegoptim instalado:
yum install epel-release
Instale el paquete:
yum install jpegoptim
Salidas de muestra:
sintaxis/uso de jpegoptim
El uso del comando es bastante simple:
- jpegoptim
- jpegoptim [opciones]
Para optimizar una foto, puedes probar como ves arriba:
jpegoptim your-photo.jpeg
Salidas de muestra para archivos de fotos de cPanelTips.com:
[[email protected]:~]jpegoptim Fig.-01.-Screenshot-of-jpeoptim-installation-on-Linux-624x599.jpg Fig.-01.-Screenshot-of-jpeoptim-installation-on-Linux-624x599.jpg 624x599 24bit N JFIF [OK] 53186 --> 51301 bytes (3.54%), optimized. [[email protected]:~]
¿Cómo proceso este reductor jpeg por lotes/a granel?
Puede usar un bucle for clásico de bash, por ejemplo:
for i in 1.jpeg 2.jpeg 3.jpeg; do jpegoptim "$i"; done
Opciones jpegoptim
Estas son las opciones disponibles desde la página de manual al ejecutar jpegoptim –help:
jpegoptim v1.4.4 Copyright (c) 1996-2016, Timo Kokkonen Usage: jpegoptim [options] -d, --dest= specify alternative destination directory for optimized files (default is to overwrite originals) -f, --force force optimization -h, --help display this help and exit -m, --max= set maximum image quality factor (disables lossless optimization mode, which is by default on) Valid quality values: 0 - 100 -n, --noaction don't really optimize files, just print results -S, --size= Try to optimize file to given size (disables lossless optimization mode). Target size is specified either in kilo bytes (1 - n) or as percentage (1% - 99%) -T, --threshold= keep old file if the gain is below a threshold (%) -b, --csv print progress info in CSV format -o, --overwrite overwrite target file even if it exists (meaningful only when used with -d, --dest option) -p, --preserve preserve file timestamps -P, --preserve-perms preserve original file permissions by overwriting it -q, --quiet quiet mode -t, --totals print totals after processing all files -v, --verbose enable verbose mode (positively chatty) -V, --version print program version -s, --strip-all strip all markers from output file --strip-none do not strip any markers --strip-com strip Comment markers from output file --strip-exif strip Exif markers from output file --strip-iptc strip IPTC/Photoshop (APP13) markers from output file --strip-icc strip ICC profile markers from output file --strip-xmp strip XMP markers markers from output file --all-normal force all output files to be non-progressive --all-progressive force all output files to be progressive --stdout send output to standard output (instead of a file) --stdin read input from standard input (instead of a file)
En este momento, debería poder usar jpegoptim, probablemente el mejor comando de optimización de imágenes Jpeg de Linux disponible para las distribuciones modernas de Linux.
¿Conoces otros comandos para optimizar archivos JPEG/JPG en Linux/Unix? Comparte tus conocimientos con nosotros.
Lectura adicional:
- jpegoptim
- página de manual de jpegoptim