Оптимизация изображений на сервере
Сжатие и оптимизация jpg, серверные программы в порядке убывания степени оптимизации, 1 и 2 практически равны.
- jpegtran (apt-get install libjpeg-progs)
- Jpegoptim (apt-get install jpegoptim)
- imagemagick
Сравнение программ для сжатия jpeg
Сжатие и оптимизация png
- Pngcrush
- Optipng
Примеры для JPG
Jpegtran
# сохранит оптимизированную копию в min.image.jpg
jpegtran -copy none -optimize -outfile min.image.jpg image.jpg
# изменение качества
jpegtran -quality 75 -copy none -optimize -outfile min.pro.image.jpg image.jpg
# прогрессивный jpg, в тот же самый файл
jpegtran -progressive -outfile image.jpg image.jpg
Jpegoptim
# Оптимизирует файл и сохранит его в самого себя
jpegoptim file.jpg
# Удалить все метаданные
jpegoptim file.jpg --strip-all
# Оптимизировать все файлы
jpegoptim *.jpg --strip-all
imagemagick
# Удалить мета информацию
convert test.jpg -resize 100x100 -strip test_100.jpg
# Конвертировать в progressive формат
convert -interlace Plane input-file.jpg output-file.jpg
Серверный скрипт для сжатия jpg с помощью jpegtran, недостатки bash присутствуют, например имя файла со знака - минус
for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.jpeg" -or -name "*.JPG" \)); do echo found $file for optimizing... jpegtran -copy comments -optimize -progressive -outfile $file $file done
Примеры для PNG
Pngcrush
# Оптимизирует in.png и запишет результат в out.png
pngcrush -reduce -brute in.png out.png
Optipng
# Оптимизирует файл и сохранит его в самого себя
optipng test.png