Это цитата сообщения
levnovikov Оригинальное сообщениеjhead - радикальная оптимизация JPEG для web
Настроение сейчас - век живи - век учисьОб оптимизации графики для web написаны мегабайты статей, но речь в них обычно идет лишь об экономии путем заведомого ухудшения качества jpeg-изображения. Между тем есть неочевидные резервы для оптимизации без какой-либо потери в качестве.
Берем в качестве примера обычный jpeg-файл, например фотографию
мерзкого и противного котяры милого домашнего котика Марли (проживает у родителей
an-n-ushka).
[320x240]
Исходная картинка весит
78001 байт, что подозрительно много для такого изображения такого размера.
Скачиваем и устанавливаем (есть версии для всех распостраненных операционных систем - Windows/Linux/FreeBSD/MacOS + исходные тексты) небольшую утилиту
jhead и натравливаем на данный файл
jhead -purejpg picture.jpg
Любуемся результатом
[320x240]
Изображение зверя похудело до
21098 байт, т.е. более чем в три раза. Качество изображения и сам кот при этом не пострадали.
В чем собственно секрет?
Открываем исходный файл в бинарном редакторе - и видим кучу ненужного нам мусора - модель фотоаппарата, экспозицию, баланс белого и прочую техническую информацию , именуемую
EXIF.
Если файл редактировался в "фотошопе", то к этим метаданным еще добавляются цветовые профили, теги и прочая малополезная нам информация (
IPTC,
XMP etc).
Применяем полученные знания на практике. Переходим в директорию с картинками и выполняем команду
find . -type f -iregex ".*\.jpe?g?" -exec jhead -purejpg {} \;
Voila! На 2-х миллионах файлов с пользовательскими аватарами ли.ру экономия дискового пространства составила порядка 25%, загрузка исходящего трафика на сервере с аватарами упала с 50-ти до 35 Мбит в секунду.
p.s. Не стоит необдуманно подходить к использованию данного инструмента. Если вам по каким-то причинам необходимо сохранять exif-информацию (и выкинуть все остальное), то есть смысл предварительно почитать
документацию по jhead (глава General metadata options).