Files
adaptive-video-converter/docs/cli/options.md
2025-12-03 22:46:15 +03:00

7.7 KiB
Raw Blame History

Опции и ключи

Полный справочник всех доступных опций командной строки.

Позиционные аргументы

<input-video>

Обязательный. Путь к входному видео файлу.

avc video.mp4
avc /path/to/movie.mkv
avc ../videos/stream.avi

Поддерживаемые форматы: MP4, MKV, AVI, MOV, WebM и другие, поддерживаемые FFmpeg.

[output-dir]

Опциональный. Директория для сохранения результата.

avc video.mp4 ./output
avc video.mp4 /var/www/videos

По умолчанию: . (текущая директория)

Структура: Внутри создается папка с именем видео без расширения.

Основные опции

-r, --resolutions

Выбор профилей качества (разрешений).

Формат:

-r <resolution>[,<resolution>...]
-r <resolution>@<fps>[,<resolution>@<fps>...]

Примеры:

# Стандартные разрешения (30fps)
avc video.mp4 -r 720,1080,1440

# С указанием FPS
avc video.mp4 -r 720@60,1080@60,1440@120

# Смешанный формат
avc video.mp4 -r 360,720@60,1080

# Одно разрешение
avc video.mp4 -r 1080

Поддерживаемые разрешения:

Значение Разрешение Название
360 640×360 360p
480 854×480 480p
720 1280×720 720p HD
1080 1920×1080 1080p Full HD
1440 2560×1440 1440p 2K
2160 3840×2160 2160p 4K

Поддерживаемые FPS: 30, 60, 90, 120

По умолчанию: Автовыбор на основе исходного видео.

Правила автовыбора:

  • Исходное ≤ 720p → 360p, 480p, 720p
  • Исходное 1080p → 360p, 720p, 1080p
  • Исходное 1440p → 720p, 1080p, 1440p
  • Исходное 4K → 1080p, 1440p, 2160p

-c, --codec

Выбор видео кодека.

Значения:

  • h264 — Только H.264
  • av1 — Только AV1
  • dualОба кодека (H.264 + AV1)

Примеры:

# Только H.264 (максимальная совместимость)
avc video.mp4 -c h264

# Только AV1 (лучшее сжатие)
avc video.mp4 -c av1

# Оба кодека
avc video.mp4 -c dual

По умолчанию: dual

Особенности:

  • H.264: Широкая поддержка браузерами и устройствами
  • AV1: Лучшее качество при меньшем размере, но требует современные браузеры
  • Dual: Браузер автоматически выберет оптимальный кодек

-f, --format

Выбор формата стриминга.

Значения:

  • dash — Только DASH
  • hls — Только HLS
  • bothОба формата

Примеры:

# Только DASH (современный стандарт)
avc video.mp4 -f dash

# Только HLS (для Apple устройств)
avc video.mp4 -f hls

# Оба формата
avc video.mp4 -f both

По умолчанию: both

Когда использовать:

  • dash — Современные веб-плееры (dash.js, Shaka Player)
  • hls — Apple устройства, Safari, нативная поддержка в iOS
  • both — Максимальная совместимость

-p, --poster

Таймкод для извлечения постера.

Форматы:

  • Секунды: 5, 30, 120
  • Таймкод: HH:MM:SS (например, 00:02:30)

Примеры:

# С 5-й секунды
avc video.mp4 -p 5

# С 2 минут 30 секунд
avc video.mp4 -p 00:02:30

# С 1 часа 15 минут
avc video.mp4 -p 01:15:00

По умолчанию: 1 (1-я секунда)


Опции качества

Эти опции позволяют вручную контролировать качество кодирования. Используйте только если понимаете что делаете.

--h264-cq

Значение CQ (Constant Quality) для H.264 NVENC GPU кодирования.

Диапазон: 0-51 (меньше = лучше качество, больше размер)

Примеры:

# Очень высокое качество
avc video.mp4 -c h264 --h264-cq 18

# Балан между качеством и размером
avc video.mp4 -c h264 --h264-cq 28

# Экономия места
avc video.mp4 -c h264 --h264-cq 35

По умолчанию: Автоматический расчет на основе разрешения и битрейта

Рекомендации:

  • 18-23: Практически без потерь (большой размер)
  • 23-28: Отличное качество (средний размер)
  • 28-33: Хорошее качество (малый размер)
  • 33+: Заметные артефакты

--h264-crf

Значение CRF для H.264 CPU (libx264) кодирования.

Диапазон: 0-51

Примеры:

avc video.mp4 -c h264 --h264-crf 20

Используется: Когда NVENC недоступен (фоллбек на CPU)


--av1-cq

Значение CQ для AV1 NVENC GPU кодирования.

Диапазон: 0-51

Примеры:

# Высокое качество AV1
avc video.mp4 -c av1 --av1-cq 30

# Dual codec с разным качеством
avc video.mp4 -c dual --h264-cq 28 --av1-cq 35

По умолчанию: Автоматический расчет

Рекомендации:

  • AV1 обычно на 5-8 единиц выше чем H.264 для того же визуального качества
  • Если H.264 CQ=28, то AV1 CQ=35-37

--av1-crf

Значение CRF для AV1 CPU (libsvtav1) кодирования.

Диапазон: 0-63

Примеры:

avc video.mp4 -c av1 --av1-crf 35

Используется: Когда AV1 NVENC недоступен


Комбинации опций

Веб-сайт (стандартное качество)

avc video.mp4 -r 720,1080 -c dual -f both

Стриминговый сервис (высокое качество)

avc video.mp4 -r 360,720,1080,1440,2160 -c dual -f both --h264-cq 23 --av1-cq 30

Мобильные устройства (экономия трафика)

avc video.mp4 -r 360,480,720 -c av1 -f dash --av1-cq 40

Игровой контент (60 FPS)

avc video.mp4 -r 720@60,1080@60,1440@120 -c dual -f dash

Apple экосистема

avc video.mp4 -r 720,1080 -c h264 -f hls

Архивное качество (максимум)

avc video.mp4 -r 1080,1440,2160 -c dual -f both --h264-cq 18 --av1-cq 25

Логи и отладка

CLI автоматически создает файл conversion.log в выходной директории с подробной информацией о конвертации.

Содержимое:

  • Параметры FFmpeg
  • Битрейты каждого профиля
  • Время кодирования
  • Ошибки и предупреждения

Следующие шаги