Инструменты для оптимизации JPEG?
Знаете ли вы о каких-либо инструментах (предпочтительной командной строке) для автоматической и без потерь оптимизации JPEG, которые я мог бы интегрировать в нашу среду сборки? Для PNG я в настоящее время использую PNGOUT, и он обычно экономит около 40% полосы пропускания/размера изображения.
По крайней мере, мне нужен инструмент, который может лишить метаданные из JPG - я заметил странный случай, когда я пытался сделать эскиз с фотографии, и не мог получить его меньше 34 КБ. После более подробного исследования я обнаружил, что данные EXIF все еще были частью изображения, а эскиз был 3 кБ после удаления метаданных.
И кроме того - можно ли без дальнейшей оптимизации оптимизировать JPG? Оптимизатор PNG пробует различные стратегии сжатия, случайную инициализацию кодировки Хаффмана и т.д.
Я знаю, что большинство сбережений исходит из параметра качества JPEG и что это довольно субъективная мера. Я ищу инструмент, который можно запустить как шаг сборки, и без потерь сжимает несколько байтов от изображений.
Ответы
Ответ 1
Я использую libjpeg для операций без потерь. Он содержит инструмент командной строки jpegtran, который может делать все, что вам нужно. С опцией командной строки -copy none
все метаданные удаляются, а -optimize
выполняет оптимизацию сжатия Хаффмана без потерь. Вы также можете преобразовать изображения в прогрессивный режим с помощью -progressive
, но это может вызвать проблемы совместимости (кто-нибудь знает об этом больше?)
Ответ 2
Я написал графический интерфейс для всех инструментов оптимизации изображений, которые я мог найти, включая MozJPEG и jpegoptim
, которые оптимизируют таблицы Хаффмана, прогрессивные проверки и (необязательно) удаляют невидимые метаданные.
![ImageOptim smushing it]()
Если у вас нет Mac, у меня также есть базовый веб-интерфейс, который работает на любой платформе.
Ответ 3
Новая служба, называемая JPEGmini, дает невероятные результаты. Позор, который он только в Интернете. Изменить. Он доступен для Windows и Mac сейчас
Ответ 4
[ТОЛЬКО WINDOWS]
RIOT (инструмент оптимизации радиального изображения)
Это самый лучший инструмент оптимизации изображения, который я нашел!
http://luci.criosweb.ro/riot/
Вы можете легко получить изображение размером 10 МБ до 800 КБ с помощью подэмплинга.
Он поддерживает PNG, GIF и JPEG.
Он даже интегрируется в контекстные меню, чтобы вы могли отправлять фотографии прямо там.
Позволяет поворачивать, изменять размер, сжимать до указанных КБ и т.д. Также есть плагины для GIMP и IrfanView и другие вещи.
Существует также DLL, если вы хотите включить ее в свои собственные программы или java script/С++.
Другой альтернативой является http://pnggauntlet.com/ PNGGAUNTLET берет навсегда, но он выполняет довольно хорошую работу.
[ТОЛЬКО WINDOWS]
Ответ 5
Пробовал ряд предложений выше - я лично был после сжатия без потерь.
У моего образца изображения был оригинальный размер 67,737 байт.
Используя kraken.io, он снизился до 64 718
Используя jpegtran, он снизился до 64 718
Используя yahoo smush-it, он снизился до 61 746
Используя imagemagick (-strip), он опустился до 65,312
Параметр smush.py выглядит многообещающим, но установка была слишком сложной для меня быстро
jpegrescan выглядит многообещающим, но, похоже, это unix, и я использую windows
jpegmini НЕ БЕСПЛАТНО, но я не могу сказать разницу (до 22172)
Плинт Приложение Altrasoft jpegstripper не работает на моих окнах 7
jpegoptim - это не окна - не полезно для меня
Riot (поддержание качества на 100%) снизил его до 63 416, а с подмножеством цветности, установленным на высокий уровень, он снизился до 61 912 - я не знаю, является ли это без потерь или нет, хотя, и я думаю, что он выглядит легче чем оригинал.
Итак, мой вердикт - это yahoo smushit, если он должен быть без потерь
Ответ 6
Я бы попробовал Imagemagick. Он имеет множество опций командной строки, бесплатно и имеет хорошую лицензию.
http://www.imagemagick.org
Кажется, есть опция Strip, которая может вам помочь:
http://www.imagemagick.org/script/command-line-options.php#strip
Ответ 7
ImageOptim действительно гладкий. Опция командной строки, размещенная автором, заполнит графический интерфейс и покажет ход. Я использовал jpegtran для оптимизации и преобразования в прогрессивную, затем ImageOptim для дальнейшей прогрессивной оптимизации и для других типов файлов.
Повторное использование кода script также найдено на этом форуме (все файлы заменены на место):
jpegtran
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
ImageOptim
for file in $(find $DIR -type f \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" \)); do
do
echo found $file for optimizing...
open -a ImageOptim.app $file
done
Ответ 8
В случае, если кто-то ищет, я написал автономную версию Yahoo Smush.it. Он без потерь оптимизирует pngs, jpg и gif (анимированные и статические):
http://github.com/thebeansgroup/smush.py
Ответ 9
Вы можете использовать jpegoptim, который по умолчанию без потерь оптимизирует файлы jpeg. Опция --strip-all
включает всю дополнительную встроенную информацию. Вы также можете указать режим с потерями с помощью переключателя --max
, который полезен, когда у вас есть изображения, сохраненные с очень высоким качеством, что не обязательно, например. веб-контента.
Вы получаете аналогичную оптимизацию, например, с jpegtran (см. ответ OutOfMemory), но jpegoptim не может сэкономить на прогрессивные jpeg.
Ответ 10
Я написал инструмент командной строки под названием "picopt" (аналогичный ImageOptim), который использует внешние программы для оптимизации JPEG, PNG, GIFS, анимированных GIFS и даже содержимого архива комиксов (CBR/CBZ).
Это подходит для использования с доморощенным в системах OS X или Linux, где вы установили такие инструменты, как jpegrescan, jpegtran, optipng, gifsicle и т.д.
https://github.com/ajslater/picopt
Ответ 11
Я тоже рекомендовал бы ImageMagick. Он имеет параметр командной строки для удаления метаданных EXIF
mogrify -strip image.jpg
Есть много других инструментов, которые делают то же самое.
Что касается повторного сжатия JPEG файлов, не делайте этого. JPEG файлы с трудом начинаются, поэтому любая форма рекомпрессии только ухудшит качество изображения. Однако, если у вас есть изображения с без потерь, некоторые кодеры выполняют лучшую работу, чем другие. Я заметил, что JPEG файлы, выполненные с помощью Photoshop, выглядят лучше, чем при кодировании ImageMagick (несмотря на тот же размер файла) из-за сложных причин. Кроме того (и это относится к вам), я знаю, что по крайней мере Photoshop может сохранять JPEG как оптимизированный, что означает, что они снижают совместимость с некоторыми материалами, которые, вероятно, не заботятся о сохранении нескольких килобайт. Кроме того, убедитесь, что у вас нет встроенных цветовых профилей, и вы можете сохранить еще пару КБ.
Ответ 12
Я бы рекомендовал использовать http://kraken.io Это ультрабыстрый webapp, который оптимизирует ваши файлы PNG и JPEG намного лучше, чем smush.it.
Ответ 13
Я рекомендую использовать JpegOptim, это бесплатно и действительно приятно, вы можете указать качество, размер, который вы хотите... И прост в использовании в командной строке.
JpegOptim
Ответ 14
Могу ли я рекомендовать это для почти прозрачности:
convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg
Он использует imagemagick convert
и jpeg-recompress
из jpeg-archive.
Оба являются open-source и работают в Windows, Mac и Linux. Вы можете настроить параметры выше для различных ожиданий качества.