Mi Blog

Programador Web, fanático del software libre, hardware libre y energía renovable. Quito Ecuador

Disminuir la calidad de archivos jpg usando la linea de comandos

Recientemente tuve problemas con un sitio ya que usaba muchas imagenes grandes que habian sido guardadas en una calidad muy alta sin considerar que el tiempo de descarga para los visitantes iba a ser muy alto. Usando la línea de comandos reduje la calidad de las imagenes sin que sea notorio el deterioro debido a la compresion. Lo mejor fue que imagenes de 1.5 Mb se redujeron a 250Kb, asi que los tiempos de descarga se volvieron razonables.

Aca esta el comando que lo hizo.

find . -name "*.jpg" -size +400k -print0 | xargs -0 -I file convert -quality 85 file file

Voy a explicar que hace cada bloque comenzando por el primero

find . -name "*.jpg" -size +400k -print0

Este comando busca todos los archivos jpg que tengan un tamaño mayor a 400k

xargs -0 -I file

xargs con esos parametros hace que el nombre del archivo que viene de la busqueda del bloque anterior se imprima donde yo ponga la palabra file

convert -quality 85 file file

convert guarda el archivo en el mismo lugar donde estaba con una calidad razonable (85)

Categorias: GNU/Linux