Данный материал будет интересен в первую очередь владельцам сайтов желающих уменьшить размер изображений на своем сервере, тем самым повысив скорость загрузки страниц. Не рекомендую применять данную инструкцию на домашних компьютерах с целью уменьшения размеров изображений, так как будет удалена полезная информация типа даты и времени съемки а так же другая подобная информация.
Для чего это нужно? Для уменьшения размера изображений без ущерба качества и ускорения загрузки. Подобная оптимизация рекомендуется Google PageSpeed Insights
Каким образом достигается уменьшение размера? Путем удаления комментариев и всевозможной дополнительной информации (Exif, IPTC, ICC, XMP).
Устанавливаем JPEGoptim sudo apt-get install jpegoptim
sudo apt-get install jpegoptim
JPEGoptim будем использовать со следующими ключами:
JPG файлы будем оптимизировать и преобразовывать в прогрессивный вид при помощи JPEGoptim. Прогрессивный jpeg, это когда при загрузке сначала появляется размытый контур изображения и по мере загрузки обретается четкость. Jpg в прогрессивном режиме позволяет получить представление обо всём изображении уже после передачи незначительной части JPEG-файла. В обычном режиме jpeg загружается последовательно, с верху в низ.
В итоге для оптимизации jpeg файлов в текущей папке надо запустить
jpegoptim --strip-all --all-progressive -ptm85 *.jpg
Для рекурсивного (во всех вложенных подкаталогах) преобразования запускаем
find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -pm85 {} \;
Обратите внимание, на версии 1.3.0 которая идет в составе kubuntu 14.04 права на файлы будут изменены на чтение и запись только для владельца файла (-rw-------). Для решения этой проблемы добавим -exec chmod 644 {} \; что будет менять права на -rw-r--r--. В более новых версиях этой проблемы нет и добавлен новый ключ -P который сохраняет права такими же как у исходного файла.
Для запуска на сервере от имени www-data и сохранением прав доступа на версии 1.3.0 используем
sudo -u www-data find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -pm85 {} \; -exec chmod 644 {} \;
OptiPNG уменьшает размер файла путем удаления ненужных для изображения функций таких как на примем полноцветность для черно-белых изображений.
sudo apt-get install optipng
PPA с последней версией OptiPNG
sudo apt-add-repository ppa:optipng/stablesudo apt-get updatesudo apt-get upgrade
OpiPNG будем использовать с ключами:
Так же, по умолчанию OptiPNG преобразует входные файлы с чередованием строк (interlaced). Это похоже на прогрессивный jpg, когда изначально загружаются контуры изображения и по мере загрузки появляется четкость. Это позволяет на начальном этапе загрузки получить представление о загружаемом изображении. В обычном режиме изображения загружается сверху в низ. Эту опцию можно отключить, используя ключ -i0. -i1 включает преобразование в interlaced (по умолчанию).
За подробностями man optipng
Для рекурсивной оптимизации запускаем
find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;
Для JPG sudo -u www-data find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -pm85 {} \; -exec chmod 644 {} \;
Для PNG sudo -u www-data find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;
sudo -u www-data find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;
http://compressjpeg.com/ http://compresspng.com/ пользуюсь вот этим сервисом. Надо бы сравнить качество сжатия
А че тут сравнивать? Это консольная комманда и по скорости ее работы никакой веб сервис не угониться
Подробнее о форматировании
Комментарии (2)
http://compressjpeg.com/ http://compresspng.com/ пользуюсь вот этим сервисом. Надо бы сравнить качество сжатия
А че тут сравнивать? Это консольная комманда и по скорости ее работы никакой веб сервис не угониться
Отправить комментарий