May 19, 2025

Как конвертировать видео в WebP с оптимальными настройками?

Короткий ответ: через FFmpeg. Почти все сторонние конвертеры всё равно используют его под капотом, но не дают настраивать параметры. Поэтому делаем всё вручную — и быстро., так что сделаем всё ручками)

❗ Гайд для Windows. На других ОС установка будет отличаться.

Установка FFMpeg

1) Заходишь на https://www.gyan.dev/ffmpeg/builds/, качаешь release full zip-архив под Windows

2) Распакуй архив, например, в

C:\ffmpeg
У меня примерно так

Добавь путь к FFmpeg в переменные среды:

  • Нажми Win + R
  • Введи:
SystemPropertiesAdvanced
  • Нажми Enter — откроется окно "Свойства системы" на вкладке "Дополнительно"
  • Нажми кнопку «Переменные среды...»
красненькая такая :р

Дальше надо выбрать PATH и нажать кнопку "Изменить..."

И сюда надо вставить ИМЕННО ТАКОЙ путь к EXEшнику

Сохраняемся и выходим. Теперь FFmpeg должен установиться и полностью функционировать. Чтобы это проверить можно ввести в консоль команду:

ffmpeg -version
должно быть что-то типа такого

Поздравляю! Конвертер всего и для всего успешно установлен! Теперь можно конвертировать. В идеале надо вручную прописывать каждый параметр прямо в консольку, но мы сделаем проще.

Автоматический батник

Создай в любом удобном месте (я тупо на рабочем столе) текстовый файл. Скопируй в него этот код

@echo off
chcp 65001 >nul
setlocal

if "%~1"=="" (
    echo Перетащи папку с видеофайлами на этот скрипт.
    pause
    exit /b
)

set "input_folder=%~1"
echo Обрабатываем папку: %input_folder%
echo.

for /R "%input_folder%" %%F in (*.mp4 *.mov *.avi *.mkv) do (
    echo Конвертация: %%F
    ffmpeg -i "%%F" -loop 0 -fps_mode cfr -quality 50 -compression_level 6 "%%~dpnF.webp"
)

echo.
echo Готово!
pause

Сохраняешь документ и переименовываешь в файл с расширением .bat

типа того

Теперь достаточно перетянуть ПАПКУ С ВИДЕО на этот batник и скрипт сам сделает всю работу. WebP файлы будут располагаться внутри вместе с оригинальными файлами.

Кастомизация (ПО ЖЕЛАНИЮ)

Вот основная команда:

ffmpeg -i "%%F" -loop 0 -fps_mode cfr -quality 50 -compression_level 6 "%%~dpnF.webp"
  • -quality 50 — баланс между качеством и весом.
    Хочешь хуже — поставь 30, хочешь лучше — 70, максимум — 100.
  • -compression_level 6 — влияет на скорость и немного на качество. Лучше не трогать, оптимальное значение.
  • Хочешь сделать файл меньше — добавь:
    • -r 20 — ограничивает FPS до 20
    • -vf "scale=192:256" — ресайз (только чётные значения)

Вот пример команды с ограничением FPS и уменьшением размера:

ffmpeg -i "%%F" -r 20 -vf "scale=192:256" -loop 0 -fps_mode cfr -quality 50 -compression_level 6 "%%~dpnF.webp"