jpg не оптимизируется (jpegtran, jpegoptim)

У меня есть изображение в формате jpg.

Я попытался запустить jpegtran с помощью следующей команды:

  $ jpegtran -  copy none -optimize image.jpg> out.jpg  

Файл выводится, но изображение кажется неизмененным (без изменения размера)

I попробовал jpegoptim:

  $ jpegoptim image.jpgimage.jpg 4475x2984 24bit P JFIF [OK] 1679488 -> 1679488 байт (0,00%), пропущено.   

Я получаю те же результаты, когда использую —force с jpegoptim, за исключением того, что он сообщает, что он оптимизирован, но размер файла не изменился

Здесь это изображение, о котором идет речь: http://i.imgur.com/NAuigj0.jpg

Но я не могу заставить его работать с любыми другими jpeg, которые у меня есть (только попробовал пара хоть).

Я что-то делаю не так?


Я загрузил ваше изображение с imgur, но его размер составляет 189 056 байт. Возможно ли, что imgur что-то сделал с вашим изображением?

В любом случае, мне удалось оптимизировать его до 165 920 байт с помощью Leanify (я автор), и это без потерь.



Оптимизация изображений JPEG/JPG в Ubuntu с помощью Jpegoptim

Возможность разрешения изображения современных устройств для захвата фотографий, таких как смартфоны и цифровые камеры, составляет увеличивается день ото дня. Настоящая сделка наступает, когда нам нужно поделиться этими изображениями, загрузить их в облачное хранилище или даже сохранить на устройстве с ограниченным хранилищем. Графическим дизайнерам также приходится сталкиваться с той же проблемой, но они хорошо оснащены инструментами, которые могут сжимать изображения, чтобы ими можно было легко поделиться с заинтересованными сторонами.

Для Ubuntu существует множество графических приложений. утилиты, которые позволят вам оптимизировать и сжимать ваши jpeg-файлы, но здесь мы обсудим инструмент командной строки под названием Jpegoptim. Это особенно полезно для опытных пользователей терминалов, которым нравится выполнять свои задачи, используя минимум системных ресурсов. Jpegoptim может помочь вам в сжатии файлов jpegs, jpg и jfif с потерей качества и без потери качества, в зависимости от того, что вы ищете.

В этой статье мы опишем, как вы можете установить команду Линия утилиты Jpegoptim на Ubuntu. Мы также объясним различные способы использования этого приложения для оптимизации и сжатия файлов изображений jpeg. Эта статья также позволит вам написать и выполнить сценарий bash, который автоматизирует процесс сжатия всех файлов jpeg, находящихся в одном каталоге.

Мы выполнили команды и процедуры, упомянутые в этой статье, на Система Ubuntu 18.04 LTS.

Установка Jpegoptim в Ubuntu

Jpegoptim легко доступен через официальный репозиторий Ubuntu и может быть легко установлен через командную строку с помощью команды apt-get команда.

Откройте приложение «Терминал» либо с помощью системы поиска в панели запуска приложений, либо с помощью сочетания клавиш Ctrl + Alt + T.

Следующим шагом является обновление индекса репозитория вашей системы с помощью следующей команды:

 $ sudo apt-get update 

Это поможет вам установить последнюю доступную версию программного обеспечения из Интернета. Обратите внимание, что только авторизованный пользователь может добавлять, удалять и настраивать программное обеспечение в Ubuntu.

Теперь вы готовы к установке Image Jpegoptim; вы можете сделать это, выполнив следующую команду от имени sudo:

 $ sudo apt-get install jpegoptim 

Система может запросить пароль для sudo, а также предоставить вам вариант Y/n для продолжения установки. Введите Y и затем нажмите Enter; программное обеспечение будет установлено в вашей системе. Однако этот процесс может занять некоторое время в зависимости от скорости вашего Интернета.

Вы можете проверить номер версии приложения, а также убедиться, что оно действительно установлено в вашей системе, с помощью следующей команды :

 $ jpegoptim --version 

Использование Jpegoptim для сжатия изображений

Давайте теперь исследуем возможности Jpegoptim следующими способами:

Сжать без потерь одиночное изображение

Если вы хотите сжать одиночное изображение без ущерба для качества, используйте следующую команду:

$ jpegoptim image_name.jpg

Пример:

 $ jpegoptim sample.jpg 

Примечание. Помните, что инструмент перезаписывает существующее изображение, поэтому рекомендуется сохранить исходное изображение. сохранено где-то еще.

Если вы хотите, чтобы изображение было сжато еще больше, вы может снова запустить ту же команду. Однако Jpegoptim начнет пропускать сжатие, если достигнет предела, при котором качество изображения без потерь при наибольшем сжатии.

Вот как будет выглядеть результат в такой ситуации:

Сжать изображение в другую папку

Если вы боитесь потерять исходное изображение из-за того, что Jpegoptim перезапишет его, вы можете указать инструменту сохранить сжатое изображение в другой папке.

Сначала создайте папку, в которой вы хотите сжатые изображения для сохранения. Если вы хотите, чтобы они были сохранены в уже существующей папке, вам не нужно создавать новую. Затем вы можете использовать следующий синтаксис команды для выполнения сжатия:

$ jpegoptim -d ./[destination-folder] -p [image_name] .jpg

Например:

 $ jpegoptim -d ./compressed -p sample.jpg 

Вышеупомянутая команда сожмет и сохранит мой файл sample.jpg в уже существующую папку с именем «сжатый»..

Проверить возможное сжатие

Если вы хотите заранее увидеть, насколько изображение может быть сжато, вы можете смоделировать сжатие изображения с помощью Jpegoptim. Следующая команда на самом деле не сжимает изображение, она просто сообщит вам, насколько изображение будет сжато, если вы когда-нибудь попытаетесь сжать его с помощью Jpegoptim.

Следующий пример дополнительно объяснит процесс:

У меня есть изображение в формате jpg с именем sample.jpg. Сначала я напечатаю его размер с помощью команды du следующим образом:

 $ du sample.jpg 

Затем я буду использовать флаг -n с командой jpegoptim, чтобы знать о его потенциальном сжатии.

 $ jpegoptim -n sample.jpg 

Когда я перепроверил его размер после использования команды jpegoptim, как указано выше, я не заметил изменений в его размере. Это гарантирует, что команда jpeg с флагом -n отображает только будущий процент сжатия и размер без фактического сжатия изображения.

Сжимать изображения «с» потерей качества

Иногда мы хотим сжать наши изображения, зная, что процесс не будет без потерь. Хорошо то, что с Jpegoptim вы можете указать, с какой потерей качества вы согласны. Есть два способа сжатия изображений «с потерями»:

1. Использование флага -m для указания коэффициента качества/процента: Задает максимальный коэффициент качества изображения (отключает режим оптимизации без потерь, который по умолчанию включен). Эта опция снизит качество тех исходных файлов, которые были сохранены с использованием более высокого качества. Файлы, для которых уже установлено более низкое качество, будут сжаты с использованием метода оптимизации без потерь.

Вот как вы можете указать процент сжатия:

 $ jpegoptim -m  [процент_в_числе] image.jpg 

Это было мое исходное изображение :

А вот так это выглядит с 10-процентным качеством фактор:

2. Используя параметр –size, чтобы указать размер сжатого изображения: Попробуйте оптимизировать файл до заданного размера (отключает режим оптимизации без потерь). Целевой размер указывается либо в килобайтах (1 — n)

, либо в процентах (1% — 99%) от исходного размера файла.

Вот как вы можете указать размер результирующего изображения в килобайтах:

 $ jpegoptim --size = [size-in-kb] image_name.jpg 

Пакетная оптимизация файлов изображений

Есть несколько способов использования Jpegoptim для сжатия сразу несколько файлов.

Первый — указать все файлы, которые вы хотите сжать, в одной команде jpegoptim следующим образом:

 $ jpegoptim file1.jpeg file2  .jpg файл3. jpg 

Команда перезапишет все указанные файлы и новые сжатые.

Второй метод — указать Jpegoptim на сжатие всех файлов определенного типа , например jpg, все они находятся в одной папке:

 $ jpegoptim * .jpg 

Чтобы увидеть, как работает эта команда, я перечислил все файлы в Моя папка с изображениями с флагом -l. Эта команда напечатает общий размер всех изображений, находящихся в текущей папке:

 $ ls -l 

Затем я использовал ту же команду ls -l, чтобы увидеть, насколько команда Jpegoptim изменила общий размер всех файлов. Вы можете увидеть заметную разницу в общем количестве байтов в следующем выводе:

Это были всего два файла; таким образом можно сэкономить много места. Прелесть всего процесса в том, что вы не идете на компромисс с качеством ваших ценных изображений. Вы, конечно, можете сделать то же самое с другими форматами файлов, поддерживаемыми Jpegoptim.

Третий и очень полезный вариант заключается в том, что вы даже можете использовать сценарий оболочки для автоматизации сжатия всех файлов единственный тип, расположенный в текущем каталоге. Вот как это сделать:

Bash Script для сжатия всех файлов jpg в текущем каталоге

В этом разделе объясняется, как можно написать сценарий оболочки, который будет сжимать все файлы JPG, расположенные в текущем каталоге, в папку с именем «сжатый». Скрипт не создаст папку; он просто сохранит вывод в уже созданную папку под этим именем.

Сначала перейдите в папку Documents, где мы будем создавать скрипт:

 $ cd Documents  

Примечание: вы можете сохранить сценарий где угодно. Желательно, чтобы вы создавали все сценарии в одной папке, чтобы не терять из виду, где вы их сохранили. Лично я предпочитаю сохранять все свои сценарии в папке Documents.

Создать сценарий

Откройте новый файл сценария в одном из ваших любимых текстовых редакторов. Мы воспользуемся редактором nano, чтобы открыть пустой файл сценария с именем compressAll.sh

 $ nano compressAll.sh 

В этот пустой файл добавьте следующий скрипт.

 #!/bin/sh # сжимаем все файлы * .jpg в текущем каталоге # и помещаем их в ./compressed каталог # с той же датой изменения, что и исходные файлы. for  я в формате * .jpg;  сделать jpegoptim -d ./compressed -p "$ i";  done 

Совет: вместо того, чтобы вводить весь сценарий в ваш файл bash, вы можете скопировать его отсюда и вставить в Терминал, используя Ctrl + Shift + V, или с помощью параметра «Вставить» в меню, вызываемом правой кнопкой мыши.

Вот как будет выглядеть ваш файл:

Теперь выйдите из файла с помощью сочетания клавиш Ctrl + X. Затем вас попросят сохранить файл в поле «Сохранить измененный буфер?» незамедлительный. Введите Y и нажмите Enter; ваш файл сценария теперь сохранен в текущей папке.

Чтобы сделать этот файл исполняемым для текущего пользователя, выполните следующую команду в вашем Терминале:

 $  chmod + x compressAll.sh 

Чтобы запустить скрипт, измените текущий каталог на тот, jpgs которого вы хотите сжать (в моем случае каталог изображений). Убедитесь, что в каталоге есть папка с именем «сжатый». Если его там нет, создайте его перед запуском сценария.

Запустите сценарий

Наконец, запустите сценарий следующим образом:

 $/home/[usernameght/Documents/compressAll.sh

Эта команда выполнит сценарий bash из папки, в которой вы его создали. Это причина, по которой вам пришлось указать весь путь в этот файл .sh.

Вы увидите, что все сжатые файлы будут записаны в «сжатую» папку. Вы можете проверить это с помощью следующей команды:

 $ ls compressed 

Это все касалось оптимизации изображений с помощью утилиты Jpegoptim. Для получения дополнительной информации вы можете просмотреть справочную страницу с помощью следующей команды:

 $ man jpegoptim 

Теперь поделитесь своими изображениями через Интернет и загрузите их в место с ограничением пропускной способности и хранилища не должно быть проблемой

Оптимизация изображений JPEG/JPG в Ubuntu с помощью Jpegoptim
Оцените статью
logicle.ru
Добавить комментарий