Для пересылки по электронной почте мне понадобилось оптимизировать размер некоторого количества jpeg-файлов.
В ubuntu linux сделать это можно с помощью утилиты jpegoptim. Она позволяет как оптимизировать размер без потери качества, так и с потерей качества, указав его необходимый уровень.
Устанавливаем:

sudo apt-get install jpegoptim

Оптимизация размера jpeg без потери качества

Проверяем, насколько можно сжать файл:

jpegoptim -n file.jpg

Сжимаем один файл без потери качества:

jpegoptim file.jpg

Утилита сожмет и перезапишет файл. Если сжимать дальше уже невозможно, то файл будет пропущен.
Можно избежать перезаписи исходного файла, указав директорию для сохранения оптимизированных файлов:

jpegoptim -d ./optimized file.jpg

Сохранить аттрибуты файла (дата/время создания файла) можно, указав опцию -p:

jpegoptim -d ./optimized -p file.jpg

Сжать файл с потерей качества можно, указав опцию -mNN:

jpegoptim -m50 file.jpg

В результате файл будет оптимизирован по размеру с 50% потерей качества.

Оптимизировать по размеру все файлы jpg в папке можно с помощью однострочного цикла:

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

Рекурсивно:

find /home/valusik/Изображения/ -type f -iname *.jpg -exec jpegoptim -p --all-progressive {} +

Уменьшение размера jpg до заданного

for i in *.jpg; do jpegoptim -S20% $i ; done
Enter your comment. Wiki syntax is allowed:
 
  • linux_faq/batch_optimize_jpgs_jpegs_photos_using_cli.txt
  • Last modified: 2025/11/28 10:23
  • by admin