• Как уменьшить тысячи картинок во всех подпапках?

    sim3x
    @sim3x
    Нужны пакеты
    sudo apt-get install jpegoptim imagemagick optipng
    mogrify

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

    Оптимизируем jpeg
    find . -type f \( -name "*.jpeg" -or -name "*.jpg" \) -exec mogrify -resize x100 -quality 90 {} \; -exec jpegoptim -o --strip-all {} \;


    Оптимизируем png
    find . -type f -name "*.png" -exec mogrify -resize x100 {} \; -exec optipng -o1 {} \;


    mogrify -resize ШИРИНАxВЫСОТА -quality КАЧЕСТВО
    если высоты(ширины) нет, то изменяем пропорционально

    optipng -o9 file.png
    максимальное количество проходов по изображению, очень эффективно для запущенных случаев, очень-очень долго
    пару минут на файл 1500х1500

    optipng -o5 file.png
    просто долго

    # код предоставляется как есть

    # почему оптипнг - он офигительный

    # для других типов картинок меняем find и ищем каким софтом их оптимизируют
    Также можно сконвертить картинки в пнг-жпг, но часто это как-то нужно синхронизировать с бд, и тут нет простого пути
    Ответ написан
    12 комментариев