Инструменты для оптимизации 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, если он должен быть без потерь

Ответ 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. Вы можете настроить параметры выше для различных ожиданий качества.