June 12

Пакетная конвертация в .webp

Вступление

Блог стал тяжеловат. Особенно картинки. Решил я привести их в порядок и перевести всё в формат WebP — он легче, быстрее грузится и поддерживается почти везде.

Что такое WebP?

WebP — это формат изображений от Google, созданный ещё в 2010 году. Основан на технологии сжатия без потерь. Позволяет уменьшить размер файла:

  • до ~26% меньше, чем PNG
  • до ~30% меньше, чем JPEG**

Сжимаем изображения

Для сжатия используем утилиту cwebp. У кого её нет — можно установить на macOS через Homebrew:

brew install webp

Шаги

1. Создаём скрипт

Вот базовый вариант скрипта для массового конвертирования:

#!/bin/bash
#путь к папке с картиночкой
path="./images"
#Сам скрипт
find "$path" -type d -exec bash -c '
    for dir in "$@"; do
        current_dir="$(basename "$dir")"
        echo "Processing directory: $current_dir"
        for file in "$dir"/*.{jpg,jpeg,png}; do
            output="${file%.*}".webp
            cwebp -q 80 "$file" -o "$output"
            rm "$file"
        done
    done
' _ {} \;

Скачать скрипт: 👉 webpconvert.sh

⚠️ Скрипт неидеальный, но работает. Доработаю позже, если будет время (или нужда).

2. Запуск

Укажите путь к папке с изображениями в скрипте и запустите его:

chmod +x webpconvert.sh
./webpconvert.sh

3. Ждём

Процесс может занять какое-то время, особенно если много картинок. Но результат того стоит.