1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Ищу программу для массовой оптимизации изображений

Тема в разделе "Web Coding", создана пользователем jabbaxatt, 16 сен 2015.

Статус темы:
Закрыта.
Модераторы: latteo
  1. jabbaxatt

    jabbaxatt Добрый модератор

    Moderator
    Регистр.:
    21 янв 2009
    Сообщения:
    878
    Симпатии:
    411
    Есть куча сайтов, куча фоток на них (в сумме 20 000 +) есть желание их все оптимизировать.

    Для экономии места и что-бы в https://developers.google.com/speed/pagespeed/insights/ показатели получше были.

    Вижу это так. Скачиваю все сайты на свой комп. Распаковываю. Натравливаю на эти папки программу которая:
    - найдет все файлы jpg, gif, png
    - оптимизирует их все без потери качества и без смены названия (с заменой).
    - будет бесплатной и отработает качественно со всеми форматами.

    Собственно программу посоветуйте, пожалуйста
     
  2. Jake Foley

    Jake Foley

    Регистр.:
    14 дек 2006
    Сообщения:
    834
    Симпатии:
    365
    Есть для тебя решение по сжатию на основе API Tinypng

    И так, что умеем:

    1. Умеем работать только из консоли (CLI)

    2. Умеем работать со списком API ключей, берем из файла и перебираем. Если один ключ закончился, берем следующий. Если все закончились - прекращаем работу!

    3. Умеем формировать лог в CSV для дальнейшего удобного анализа в Excel



    Как пользоваться?

    1. Качаем архив https://yadi.sk/d/LtJAIJ-ij8Jbk

    2. Распаковываем содержимое в корень

    3. В файле keys.txt суем свои API ключи (каждый ключ новой строкой)

    4. Даем права на выполнение: chmod +x tinify.php

    5. При необходимости правим в файле tinify.php первой строкой путь к PHP:

    #!/usr/bin/php
    6. Запускаем: ./tinify.php <path>

    Где <path> это путь к каталогу, относительно расположения скрипта, в котором необходимо обработать изображения.

    Например, если вы поместили папку со скриптом в корень симплы и необходимо обработать каталог products с изображениями товаров, то запускаем так: ./tinify.php ../files/products

    7. Запуск: ./tinify.php -h выведет хелп



    Принцип работы с ключами

    Скрипт читает keys.txt и берет от туда ключи. При запуске берет первый ключ, пробуем им работать, если все ок, переходит к следующему найденному изображению в каталоге. Если обработка изображения не прошла, меняет ключ на следующий и пробует опять этот же файл с изображением. Если не один из приведенных ключей более не может работать, работа скрипта завершается с уведомлением в консоле.



    Принцип работы оптимизатора

    Скрипт ищет в каталоге, который был указан ему при запуске, все файлы изображений jpg, jpeg, png. Скрипт проверяет наличие в этом каталоге подкаталога .tinypng и если такого нет - создает. Для каждого найденного файла с изображением скрипт ищет файл с аналогичным именем + окончанием .tiny в подкаталоге .tinypng. Если такой файл найден, скрипт читает его содержимое. В нем хранится размер изображение (число в байтах). Если такого файла в подкаталоге .tinypng нет, или размер изображения в нем меньше фактического файла с изображением, то происходит сжатие файла. Новый сжатый файл заменяется старым, так же в подкаталоге .tinypng создается (или перезаписывается) файл с аналогичным названием + окончание .tiny где указывается новый размер сжатого файла.

    Тем самым, с каждым запуском скрипта обработке поддаются только те файлы, которые ранее не сжимались.

    По окончании работы скрипта создается подробный лог файл в CSV для удобного анализа в Excel

    Скорость работы скрипта на моем тестовом хосте ~50 изображений в минуту.

    Могу дать также скрипт на баше
     
    latteo и jabbaxatt нравится это.
  3. jabbaxatt

    jabbaxatt Добрый модератор

    Moderator
    Регистр.:
    21 янв 2009
    Сообщения:
    878
    Симпатии:
    411
    Тоже вариант. А десктопного софта под винду нет на примете?
    Тут быстрее сайты туда-сюда закачать, чем делать кучу ящиков, ключей и всё это настраивать на сервере.
     
  4. Jake Foley

    Jake Foley

    Регистр.:
    14 дек 2006
    Сообщения:
    834
    Симпатии:
    365
    Увы нет, но протестируй любой даже не массовой программой, tinypng выигрывает в компресии.

    Ящики создаешь на http://10minutemail.com/10MinuteMail/index.html, 10 ключей у меня заняло 5 мин
     
    jabbaxatt нравится это.
  5. dreadw1nd

    dreadw1nd Создатель

    Регистр.:
    16 мар 2015
    Сообщения:
    33
    Симпатии:
    6
    Можно попробовать ещё, встроенный в сам инструмент для разработчиков от google, модуль, на выходе получаем архив с фотографиями, которые имеют те же имена, но не помню точно в тех же каталогах или нет. Оптимизировал через так 1 сайт, вроде удобно было. Но есть одно НО, может сжать картинки, которые подгружаются из кэша, а там имена файлов могут быть другие.
     
  6. jabbaxatt

    jabbaxatt Добрый модератор

    Moderator
    Регистр.:
    21 янв 2009
    Сообщения:
    878
    Симпатии:
    411
    Что за инструмент? Здесь - https://developers.google.com/speed/pagespeed/insights/ предлагает скачать архив с оптимизированными картинками, скриптами и css, но только для одной страницы, а страниц на сайте много.
     
  7. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.405
    Симпатии:
    1.185
    Хмм, а если ему скормить все картинки сайта в сгенерированном специально под это дело html, через обычный <img src="..."/> ?
     
  8. jabbaxatt

    jabbaxatt Добрый модератор

    Moderator
    Регистр.:
    21 янв 2009
    Сообщения:
    878
    Симпатии:
    411
    Он все картинки пихает в папочку images, а скрипты в папочку JS - т.е. имеющуюся у нас структуру папок не сохраняет.
     
  9. tpddbl

    tpddbl Писатель

    Регистр.:
    15 сен 2015
    Сообщения:
    7
    Симпатии:
    0
    встроенный в os x automator это умеет, если есть под рукой мак
     
  10. jabbaxatt

    jabbaxatt Добрый модератор

    Moderator
    Регистр.:
    21 янв 2009
    Сообщения:
    878
    Симпатии:
    411
    Увы, мака нет. Не только под рукой, но даже по знакомым.
     
Статус темы:
Закрыта.