Инструменты для оптимизации JPEG? [закрытый]



знаете ли вы какие-либо инструменты (предпочтительно командной строки) для автоматической и без потерь оптимизации jpeg, которые я мог бы интегрировать в нашу среду сборки? Для PNGs я в настоящее время использую PNGOUT, и это обычно экономит около 40% пропускной способности/размер изображения.



по крайней мере, я хотел бы инструмент, который может удалять метаданные из JPGs - я заметил странный случай, когда я пытался сделать миниатюру из фотографии, и не мог получить ее меньше 34 КБ. После исследуя больше, я обнаружил, что данные EXIF все еще были частью изображения, а миниатюра была 3 КБ после удаления метаданных.



и помимо этого-можно ли дополнительно оптимизировать JPGs без потерь? Оптимизатор PNG пробует различные стратегии сжатия, случайную инициализацию кодировки Хаффмана и т. д.



Я знаю, что большая часть экономии происходит от параметра качества JPEG, и что это довольно субъективная мера. Я ищу инструмент, который может быть запустите как шаг сборки, и это без потерь сжимает несколько байтов из изображений.

651   14  

14 ответов:

Я использую libjpeg для операций без потерь. Он содержит инструмент командной строки jpegtran это может сделать все, что вы хотите. С опцией командной строки -copy none все метаданные удаляются, и -optimize выполняет оптимизацию сжатия Хаффмана без потерь. Вы также можете конвертировать изображения в прогрессивный режим с помощью -progressive, но это может вызвать проблемы совместимости (кто-нибудь еще знает об этом?)

Я написал GUI для всех инструментов оптимизации изображений, которые я мог найти, включая MozJPEG и jpegoptim которые оптимизируют таблицы Хаффмана, прогрессивные сканирования и (необязательно) удаляют невидимые метаданные.

ImageOptim smushing it

Если у вас нет Mac, у меня также есть basic web-интерфейс что работает на любой платформе.

[ТОЛЬКО ДЛЯ WINDOWS]

бунт(радикальный инструмент оптимизации изображения ) Это самый большой инструмент оптимизации изображений, который я нашел!

http://luci.criosweb.ro/riot/

вы можете легко получить изображение 10MB вниз к 800KB через sub-sampling. Он поддерживает PNG, GIF и JPEG. Он даже интегрируется в контекстные меню, так что вы можете отправить фотографии прямо там. Позволяет поворачивать, изменять размер, сжимать до заданных КБ и многое другое. Также иметь плагины для GIMP и IrfanView и других вещей.

существует также DLL доступны, если вы хотите включить его в свои собственные программы или java script / c++ программы.

Другой альтернативой является http://pnggauntlet.com/ PNGGAUNTLET занимает вечность, но он делает довольно хорошую работу.

[ТОЛЬКО ДЛЯ WINDOWS]

новый сервис под названием JPEGmini производят невероятные результаты. жаль, что это только онлайн.Edit: теперь он доступен для Windows и Mac

попробовал ряд предложений выше - я лично был после сжатия без потерь.

мой образец изображения имел исходный размер 67 737 байт.

использование kraken.io, он снизился до 64,718 Используя jpegtran, он снизился до 64,718 С помощью Yahoo Смурф-он, он пошел в 61,746 Используя imagemagick (- strip), он снизился до 65,312

smush.py вариант выглядит многообещающе, но установка была слишком сложной для меня, чтобы сделать быстро

jpegrescan тоже выглядит многообещающе, но, похоже, unix, и я использую windows

jpegmini не без потерь, но я не могу сказать разницу (до 22,172)

приложение Altrasoft jpegstripper от plinth не работает на моем windows 7

jpegoptim не windows - не хорошо для меня

Riot (качество хранения на 100%) получил его до 63,416 и с помощью подвыборки цветности, установленной на максимум, он получил его до 61,912 - я не знаю, если это так без потерь или нет, хотя, и я думаю, что это выглядит легче, чем оригинал.

Так что мой вердикт-это yahoo smushit, если он должен быть без потерь

Я бы попробовал Imagemagick. Он имеет множество опций командной строки, его бесплатно и имеют хорошую лицензию. http://www.imagemagick.org

там, кажется, есть вариант под названием полоса, которая может помочь вам: http://www.imagemagick.org/script/command-line-options.php#strip

ImageOptim действительно скользкий. Параметр командной строки, опубликованный автором, заполнит графический интерфейс и покажет прогресс. Я использовал jpegtran для оптимизации и преобразования в progressive, затем ImageOptim для дальнейшей прогрессивной оптимизации и для других типов файлов.

повторное использование кода скрипта также найдено на этом форуме (все файлы заменены на месте):

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

в случае, если кто-то смотрит, я написал автономную версию Yahoo Smush.it. он будет без потерь оптимизировать pngs, jpgs и GIF (анимированные и статические):

http://github.com/thebeansgroup/smush.py

можно использовать jpegoptim который будет без потерь оптимизировать файлы jpeg по умолчанию. Элемент --strip-all опция удаляет всю дополнительную встроенную информацию. Вы также можете указать режим с потерями с --max переключатель, который полезен, когда у вас есть изображения, сохраненные с очень высоким качеством настройки, что не является необходимым, например. веб-контент.

вы получаете аналогичную оптимизацию, как и с jpegtran (см. ответ по OutOfMemory), но jpegoptim не может сохранить в прогрессивных jpeg.

Я написал инструмент командной строки под названием "picopt" (похожий на ImageOptim), который использует внешние программы для оптимизации jpeg, PNGs, GIF, анимированных GIF и даже содержимого архива комиксов (CBR/CBZ).

Это подходит для использования с homebrew на OS X или Linux систем, где вы установили инструменты, такие как jpegrescan, jpegtran, optipng, gifsicle и т.д.

https://github.com/ajslater/picopt

Я бы тоже рекомендовал ImageMagick. Он имеет опцию командной строки для удаления метаданных EXIF

mogrify -strip image.jpg

есть много других инструментов, которые делают то же самое.

что касается повторного сжатия JPEG, не следует. jpeg являются потерями для начала, поэтому любая форма повторного сжатия только повредит качеству изображения. Однако, если у вас есть закодированные изображения без потерь, некоторые кодеры работают лучше, чем другие. Я заметил, что в формате JPEG сделано с помощью фотошопа постоянно выглядеть лучше, чем при кодировании с помощью ImageMagick (несмотря на тот же размер файла) из-за сложные причины. Кроме того (и это имеет отношение к вам), я знаю, что по крайней мере Photoshop может сохранить JPEG как оптимизация что означает, что они теряют совместимость с некоторыми вещами, которые вы, вероятно, не заботитесь о том, чтобы сохранить пару КБ. Кроме того, убедитесь, что у вас нет встроенных цветовых профилей, и вы можете сохранить еще пару КБ.

Я бы рекомендовал использовать http://kraken.io это ультра-быстрый веб-приложение, которое будет оптимизировать ваши PNG и JPEG файлы гораздо лучше, чем smush.it делает.

Я рекомендую использовать JpegOptim, это бесплатно и очень приятно, вы можете указать качество, размер, который вы хотите ... И простой в использовании в командной строке.

JpegOptim

могу ли я рекомендовать это для прозрачности:

convert 'yourfile.png' ppm:- | jpeg-recompress -t 97 -q veryhigh -a -m smallfry -s -r -S disable - yourfile.jpg

Он использует imagemagick ' s convert и jpeg-recompress С jpeg-архив.

оба с открытым исходным кодом и работает на Windows, Mac и Linux. Вы можете настроить параметры выше для различных ожиданий качества.

Comments

    Ничего не найдено.