Bash · 06.02.2026

webp2jpg

Сегодня конвертируем папку с webp файлами в дружелюбный и привычный jpg. В Linux. На bash. Вот здесь я уже касался этой темы, но там речь шла про PowerShell. Напомню, что тогда для конвертации webp в jpg нужно было скачивать специальную библиотеку и обращаться к ней. Там я постарался организовать полную автоматизацию цикла конвертации вместе со скачиванием и распаковкой.

А конвертировать webp в jpg мы будем с помощью ffmpeg. Думаю, что в оконной вселенной магия этой чудо-программы тоже сработает, но пробовать не буду. Оставлю это для Вас. Кастуйте на здоровье.

Так вот. Устанавливаем ffmpeg, если его нет:

sudo apt install -y ffmpeg

Теперь скрипт:

#!/bin/bash

# Проверка, установлена ли команда ffmpeg #
if ! command -v ffmpeg &> /dev/null; then
    echo "Ошибка: командa 'ffmpeg' не найдена. Пожалуйста, установите FFmpeg."
    echo "Для установки используйте следующие команды:"
    echo "sudo apt install ffmpeg"  # для apt #
    echo "sudo yum install ffmpeg"  # для yum #
    exit 1
fi

# Проверка, передан ли аргумент #
if [ "$#" -ne 1 ]; then
    echo "Использование: $0 /путь/к/папке"
    exit 1
fi

# Папка с изображениями #
INPUT_DIR="$1"

# Проверка, существует ли папка #
if [ ! -d "$INPUT_DIR" ]; then
    echo "Ошибка: Указанная папка не существует."
    exit 1
fi

# Конвертация всех файлов .webp в .jpg #
shopt -s nullglob
webp_files=("$INPUT_DIR"/*.webp)

if [ ${#webp_files[@]} -eq 0 ]; then
    echo "В папке нет файлов .webp."
    exit 1
fi

for img in "${webp_files[@]}"; do
    # Получение имени файла без расширения #
    filename=$(basename "$img" .webp)

    # Конвертация изображения с подавлением вывода #
    if ! ffmpeg -i "$img" "$INPUT_DIR/$filename.jpg" -y > /dev/null 2>&1; then
        echo "Ошибка: Не удалось конвертировать $img."
        continue
    fi

    echo "Конвертировано: $img -> $INPUT_DIR/$filename.jpg"
done

echo "Конвертация завершена."

Для использования нужно сделать скрипт исполняемым:

sudo chmod +x webp2jpg.sh

А потом вызвать скрипт с указанием пути к папке с webp файлами:

./webp2jpg.sh /путь/к/папке

Про компрессию и изменение размеров изображений в формате jpg можно прочитать здесь.