Сб. Ноя 28th, 2020
linux-logo

Данный материал будет интересен в первую очередь владельцам сайтов желающих уменьшить размер изображений на своем сервере, тем самым повысив скорость загрузки страниц. Если вы собираетесь применить данный способ на Ваших личных фотографиях, то знайте что будет удалена информация о дате, месте съемки.

Каким образом достигается уменьшение размера? Как я уже выше сказал это будет достигаться путем удаления комментариев и всевозможной дополнительной информации (Exif, IPTC, ICC, XMP).

Устанавливаем JPEGoptim

sudo apt-get install jpegoptim

JPEGoptim будем использовать со следующими ключами:

  • —strip-all удаляет комментарии, Exif, IPTC, ICC, XMP
  • —all-progressive преобразует в прогрессивный jpeg
  • -p сохранит время создания такими же как у исходного файла
  • -t покажет итоговый результат оптимизации для нескольких изображений
  • -m90 устанавливает максимальное сжатие jpeg в 90. Этот параметр влияет на качество изображения!

JPG файлы будем оптимизировать и преобразовывать в прогрессивный вид при помощи JPEGoptim. Прогрессивный jpeg, это когда при загрузке сначала появляется размытый контур изображения и по мере загрузки обретается четкость. Jpg в прогрессивном режиме позволяет получить представление обо всём изображении уже после передачи незначительной части JPEG-файла. В обычном режиме jpeg загружается последовательно, с верху в низ.

В итоге для оптимизации jpeg файлов в текущей папке надо запустить

jpegoptim --strip-all --all-progressive -Pptm90 *.jpg

Для рекурсивного (во всех вложенных подкаталогах) преобразования запускаем

find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -Ppm90 {} \;

Для запуска на сервере от имени www-data и c сохранением прав доступа наберем команду:

sudo -u www-data find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -Ppm90 {} \; -exec chmod 644 {} \;

OptiPNG уменьшает размер файла путем удаления ненужных для изображения функций таких как на примем полноцветность для черно-белых изображений.

Устанавливаем OptiPNG

sudo apt install optipng

PPA с последней версией OptiPNG

sudo apt-add-repository ppa:optipng/stable
sudo apt-get update
sudo apt-get upgrade

OptiPNG будем использовать с ключами:

  • -strip all удалит всю «лишнюю» информацию из файла
  • -o4 указывает степень сжатия, от 1 до 7. По умолчанию 2.

Так же, по умолчанию OptiPNG преобразует входные файлы с чередованием строк (interlaced). Это похоже на прогрессивный jpg, когда изначально загружаются контуры изображения и по мере загрузки появляется четкость. Это позволяет на начальном этапе загрузки получить представление о загружаемом изображении. В обычном режиме изображения загружается сверху в низ. Эту опцию можно отключить, используя ключ -i0-i1 включает преобразование в interlaced (по умолчанию).

За подробностями man optipng

Для рекурсивной оптимизации запускаем

find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;

Итоговые команды для рекурсивной оптимизации изображений на сервере от имени пользователя www-data

Для JPG

sudo -u www-data find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -Ppm90 {} \; -exec chmod 644 {} \;

Для PNG

sudo -u www-data find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;
0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять