Optimice imágenes JPEG/JPG en Ubuntu con Jpegoptim

La capacidad de resolución de imágenes de los dispositivos de captura de fotografías actuales, como los teléfonos inteligentes y las cámaras digitales, aumenta día a día. El verdadero problema surge cuando tenemos que compartir estas imágenes, cargarlas en una instalación en la nube o incluso guardarlas en un dispositivo con almacenamiento restringido. Los diseñadores gráficos también tienen que lidiar con el mismo problema, pero están bien equipados con herramientas que pueden comprimir las imágenes para que puedan compartirse fácilmente con las partes interesadas.

Para Ubuntu , existen muchas utilidades gráficas que le permitirán optimizar y comprimir sus jpegs, pero aquí analizaremos una herramienta de línea de comandos llamada Jpegoptim. Esto es especialmente útil para los expertos en terminales a quienes les gusta realizar sus tareas utilizando los recursos mínimos del sistema. Jpegoptim puede ayudarlo a comprimir sus archivos jpegs, jpg y jfif con y sin pérdida de calidad, según lo que esté buscando.

En este artículo, describiremos cómo puede instalar la utilidad de línea de comandos Jpegoptim en Ubuntu. También explicaremos varias formas en las que puede usar esta aplicación para optimizar y comprimir sus archivos de imagen jpeg. El artículo también le permitirá escribir y ejecutar un bash script que automatizará el proceso de comprimir todos los jpegs ubicados en un solo directorio.

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.

Instalación de Jpegoptim en Ubuntu

Jpegoptim está fácilmente disponible a través del repositorio oficial de Ubuntu y se puede instalar fácilmente a través de la línea de comandos usando el comando apt-get.

Abra su aplicación Terminal a través de la búsqueda del iniciador de aplicaciones del sistema o mediante el atajo Ctrl+Alt+T.

El siguiente paso es actualizar el índice del repositorio de su sistema a través del siguiente comando:

                      $ sudo apt-get update
                    

Esto le ayuda a instalar la última versión disponible de un software de Internet. Tenga en cuenta que solo un usuario autorizado puede agregar, eliminar y configurar software en Ubuntu.

Ahora está listo para instalar Image Jpegoptim; puede hacerlo ejecutando el siguiente comando como sudo:

                      $ sudo apt-get install jpegoptim
                    

El sistema puede pedirle la contraseña para sudo y también le proporcionará una opción S/n para continuar con la instalación. Enter Y y luego presione enter; el software se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.

Puede verificar el número de versión de la aplicación y también verificar que efectivamente esté instalada en su sistema, a través del siguiente comando:

                      $ jpegoptim --version
                    

Comprobar la versión de jpegoptim instalada

Uso de Jpegoptim para la compresión de imágenes

Exploremos ahora el poder de Jpegoptim a través de las siguientes formas en que puede usarlo:

Comprimir sin pérdidas una sola imagen

Si desea comprimir una sola imagen sin querer comprometer la calidad, use el siguiente comando:

$ jpegoptim image_name.jpg

Ejemplo:

                      $ jpegoptim sample.jpg
                    

Optimizar un archivo de imagen JPEG

Nota: Tenga en cuenta que la herramienta sobrescribe la imagen existente, por lo que es una buena idea guardar la imagen original en otro lugar.

Si desea que la imagen se comprima aún más, puede ejecutar el mismo comando nuevamente. Sin embargo, Jpegoptim comenzará a omitir la compresión si alcanza el límite en el que tiene una calidad de imagen sin pérdidas con la mayor compresión.

Así es como se vería la salida en tal situación:

El archivo ya está optimizado

Comprimir una imagen a otra carpeta

Si tiene miedo de perder su imagen original porque Jpegoptim la sobrescribirá, puede indicarle a la herramienta que guarde la imagen comprimida en otra carpeta.

Primero, cree una carpeta donde desee guardar las imágenes comprimidas. Si desea que se guarden en una carpeta ya existente, no necesita crear una nueva. Luego puede usar la siguiente sintaxis de comando para realizar la compresión:

$ jpegoptim -d ./[destination-folder] -pags [image_name].jpg

Para example:

                      $ jpegoptim -d ./compressed -p sample.jpg
                    

Guardar archivo comprimido en una carpeta diferente

El comando anterior comprimirá y guardará mi archivo sample.jpg en una carpeta ya existente llamada “comprimido”.

Compruebe la compresión potencial

Si quieres ver, de antemano, cuánto es capaz de comprimir una imagen, puedes simular la compresión de imágenes a través de Jpegoptim. El siguiente comando en realidad no comprimirá la imagen, solo le dirá cuánto se comprimirá la imagen si alguna vez intenta comprimirla con Jpegoptim.

La siguiente example explicará más detalladamente el proceso:

Tengo una imagen jpg llamada muestra.jpg. Imprimiré su tamaño primero a través del comando du de la siguiente manera:

                      $ du sample.jpg
                    

Luego, usaré el indicador -n con el comando jpegoptim para conocer su posible compresión.

                      $ jpegoptim -n sample.jpg
                    

Comprobar cuánto se puede comprimir un archivo JPEG

Cuando volví a verificar su tamaño después de usar el comando jpegoptim como se indicó anteriormente, no vi ningún cambio en su tamaño. Esto garantiza que el comando jpeg con el indicador -n solo muestre el futuro porcentaje de compresión y el tamaño sin comprimir realmente la imagen.

Comprimir Imágenes “con” pérdida de calidad

A veces queremos comprimir nuestras imágenes sabiendo que el proceso no será sin pérdidas. Lo bueno es que con Jpegoptim puedes especificar con cuánta pérdida de calidad estás de acuerdo. Hay dos formas en que puede comprimir sus imágenes “con pérdida”;

1. Usando el indicador -m para especificar el factor/porcentaje de calidad: Establece el factor de calidad de imagen máxima (desactiva el modo de optimización sin pérdidas, que está activado de forma predeterminada). Esta opción reducirá la calidad de los archivos de origen que se guardaron con una configuración de mayor calidad. Mientras que los archivos que ya tienen una configuración de calidad inferior se comprimirán con el método de optimización sin pérdidas.

Así es como puede especificar el porcentaje de compresión:

                      $ jpegoptim -m[percentage_in_numbers] image.jpg
                    

Compresión con pérdida de archivos JPG

Esta fue mi imagen original:

Muestra de imagen original

Y así es como se ve con un factor de calidad del 10 por ciento:

Factor de calidad del 10% de la muestra de compresión jpg

2. Usando la opción –size para especificar el tamaño de la imagen comprimida: Intente optimizar el archivo a un tamaño determinado (deshabilita el modo de optimización sin pérdidas). El tamaño de destino se especifica en kilobytes (1 – n)

o como un porcentaje (1% – 99%) del tamaño del archivo original.

Así es como puede especificar el tamaño en kbs para la imagen resultante:

                      $ jpegoptim --size=[size-in-kb] image_name.jpg
                    

Definir el tamaño de la imagen optimizada

Optimización por lotes de archivos de imagen

Hay varias formas en las que puede usar Jpegoptim para comprimir varios archivos a la vez.

El primero es especificar todos los archivos que desea comprimir en un solo comando jpegoptim de la siguiente manera:

                      $ jpegoptim file1.jpeg file2.jpg file3.jpg
                    

El comando sobrescribirá todos los archivos especificados y con los recién comprimidos.

El segundo método es decirle a Jpegoptim que comprima todos los archivos de cierto tipo, por example jpg, todos residiendo en la misma carpeta:

                      $ jpegoptim *.jpg
                    

Para ver cómo funciona este comando, enumeré todos los archivos en mi carpeta Imágenes con el indicador -l. Este comando imprimiría el tamaño total de todas las imágenes que residen en la carpeta actual:

                      $ ls -l
                    

Lista de fotos que se optimizarán

Luego usé el mismo comando ls -l para ver cuánta diferencia ha hecho el comando Jpegoptim en el tamaño total de todos los archivos. Puede ver la notable diferencia en el total de bytes en el siguiente resultado:

Optimizar todos los archivos jpg en una carpeta

Estos eran solo dos archivos; puedes ahorrar mucho espacio así. La belleza de todo el proceso es que no compromete la calidad de sus valiosas imágenes. Por supuesto, puede hacer lo mismo con otros formatos de archivo compatibles con Jpegoptim.

La tercera y muy útil opción es que incluso puede utilizar un script de shell para automatizar la compresión de todos los archivos de un solo tipo ubicados en el directorio actual. Aquí está cómo hacerlo:

Bash Script para comprimir todos los archivos jpg en el directorio actual

Esta sección explicará cómo puede escribir un script de shell que comprimirá todos los archivos jpg ubicados en el directorio actual en una carpeta llamada “comprimido”. El script no creará la carpeta; simplemente guardará la salida en una carpeta ya creada con este nombre.

Primero, vaya a la carpeta Documentos donde crearemos el script:

                      $ cd Documents
                    

Nota: Puede guardar el script en cualquier lugar que desee. Es recomendable que crees todos los scripts en la misma carpeta para que no pierdas la pista de dónde los has guardado. Personalmente, prefiero guardar todos mis guiones en la carpeta Documentos.

Crear el guión

Abra un nuevo archivo de script en uno de sus editores de texto favoritos. Usaremos el editor nano para abrir un archivo de script vacío con el nombre de compressAll.sh

                      $ nano compressAll.sh
                    

En ese archivo vacío, agregue el siguiente script.

                      #!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done
                    

Propina: En lugar de escribir todo el guión en ti bash archivo, puede copiarlo desde aquí y pegarlo en la Terminal usando Ctrl+Shift+V, o usando la opción Pegar del menú contextual.

Así es como se vería su archivo:

Script de optimización por lotes JPEG

Ahora, salga del archivo a través del atajo Ctrl+X. Luego se le pedirá que guarde el archivo en “¿Guardar búfer modificado?” inmediato. Escriba Y y luego presione Enter; su archivo de script ahora está guardado en la carpeta actual.

Para hacer que este archivo sea ejecutable por el usuario actual, ejecute el siguiente comando en su Terminal:

                      $ chmod +x compressAll.sh
                    

Para ejecutar el script, cambie su directorio actual al que desea comprimir los jpg (en mi caso, el directorio Imágenes). Asegúrese de que el directorio contenga una carpeta llamada “comprimida”. Si no está allí, cree uno antes de ejecutar el script.

Ejecutar el script

Finalmente, ejecute el script de la siguiente manera:

                      $ /home/[username]/Documents/compressAll.sh
                    

Este comando ejecutará el bash script de la carpeta en la que lo creó. Esta es la razón por la que tuvo que especificar la ruta completa a ese archivo .sh.

Ejecutar guión

Verá que todos los archivos comprimidos se escribirán en la carpeta “comprimido”. Puede verificar esto a través del siguiente comando:

                      $ ls compressed
                    

Se trataba de la optimización de imágenes a través de la utilidad Jpegoptim. Para más detalles, puede ver la página de manual a través del siguiente comando:

                      $ man jpegoptim
                    

Ahora compartir sus imágenes a través de Internet y cargarlas en una ubicación restringida de ancho de banda y almacenamiento no debería ser un problema.

Optimice imágenes JPEG/JPG en Ubuntu con Jpegoptim

Related Posts