AV1 Video Encoder
BAT-скрипт для Windows для перекодирования видео в AV1 с помощью FFmpeg / SVT-AV1 и автоматическим подбором видеобитрейта под заданный размер файла.
По умолчанию скрипт старается получить итоговый MP4 размером около 39,5 МБ.
Возможности
- кодирование видео в AV1 через
libsvtav1; - двухпроходное кодирование;
- автоматический расчет видеобитрейта по длительности ролика;
- целевой размер файла около 39,5 МБ;
- выбор разрешения;
- выбор частоты кадров;
- 10-битный формат
yuv420p10le; - AAC-аудио 128 кбит/с, стерео;
- чтение характеристик исходника через FFprobe;
- сохранение пропорций исходного изображения;
- удобный запуск перетаскиванием видео на BAT-файл.
Требования
Необходима Windows с PowerShell и FFmpeg, содержащим:
ffmpeg.exe;ffprobe.exe;- кодировщик
libsvtav1.
Скачать FFmpeg для Windows
Готовую полную сборку FFmpeg для Windows можно скачать здесь:
Скачать FFmpeg Release Full (.7z)
После распаковки архива найдите в папке bin файлы:
ffmpeg.exe
ffprobe.exe
Их можно скопировать в папку:
av1-video-encoder/ffmpeg/
Скрипт ищет FFmpeg в следующем порядке:
- В локальной папке
ffmpegвнутри репозитория. - В системной переменной
PATH.
Для автономного варианта положите файлы сюда:
av1-video-encoder/ffmpeg/ffmpeg.exe
av1-video-encoder/ffmpeg/ffprobe.exe
Если этих файлов нет, скрипт попробует использовать установленный в системе FFmpeg.
Проверка SVT-AV1
Откройте PowerShell или CMD и выполните:
ffmpeg -encoders | findstr svtav1
В списке должен присутствовать libsvtav1.
Использование
- Скачайте или клонируйте репозиторий.
- Положите
ffmpeg.exeиffprobe.exeв папкуffmpeg. - Убедитесь, что используемая сборка FFmpeg поддерживает SVT-AV1.
- Перетащите нужный видеофайл мышью на
encode_av1.bat. - Проверьте информацию об исходном видео.
- Выберите выходное разрешение.
- Выберите частоту кадров.
- Подтвердите запуск кодирования.
- Дождитесь завершения двух проходов.
Готовый MP4 будет создан в той же папке, где находится исходное видео.
Пример имени:
2026-08-09_09-45-12_AV1_1920x1080_24fps.mp4
Доступные разрешения
- 1920×1080 — Full HD;
- 1600×900;
- 1536×864;
- 1280×720 — HD;
- произвольная ширина и высота.
При масштабировании пропорции исходного видео сохраняются. Если соотношение сторон отличается от выбранного, недостающее пространство заполняется полями.
Частота кадров
Можно выбрать:
- 24 FPS;
- 30 FPS;
- исходную частоту кадров;
- произвольное значение.
Параметры кодирования
По умолчанию:
| Параметр | Значение |
|---|---|
| Видеокодек | AV1 / SVT-AV1 |
| Контейнер | MP4 |
| Pixel format | yuv420p10le |
| Целевой размер | ~39,5 МБ |
| Аудиокодек | AAC |
| Аудиобитрейт | 128 кбит/с |
| Аудиоканалы | 2 (стерео) |
| Первый проход | preset 8 |
| Второй проход | preset 3 |
Основные настройки находятся в начале encode_av1.bat:
set "TARGET_BYTES=39500000"
set "TARGET_MB=39.5"
set "AUDIO_KBPS=128"
set "OVERHEAD_KBPS=20"
set "FIRST_PASS_PRESET=8"
set "SECOND_PASS_PRESET=3"
Как рассчитывается размер
Скрипт получает длительность видео через FFprobe и рассчитывает доступный видеобитрейт с учетом:
- целевого размера файла;
- длительности ролика;
- аудиобитрейта;
- небольшого запаса на контейнер MP4.
Итоговый размер может немного отличаться от 39,5 МБ.
Если рассчитанный видеобитрейт оказывается ниже 300 кбит/с, кодирование не запускается. В таком случае рекомендуется выбрать меньшее разрешение либо увеличить целевой размер.
Двухпроходное кодирование
Первый проход анализирует видео и создает служебную статистику.
Второй проход выполняет итоговое кодирование AV1 с использованием рассчитанного битрейта. Временные файлы статистики удаляются после завершения.
Примечания
AV1 обеспечивает высокую эффективность сжатия, но кодирование может занимать значительно больше времени, чем H.264 или H.265.
Скорость особенно зависит от разрешения видео, длительности ролика, процессора и значения preset.
Лицензия
Проект распространяется по лицензии MIT. См. файл LICENSE.