Files
create-vod/README_RU.md
2026-01-21 10:15:32 +03:00

5.5 KiB
Raw Blame History

Create VOD 🎬

🇺🇸 English README: https://gromlab.ru/vod/create-vod/src/branch/master/README.md

CLI инструмент для конвертации видео в форматы DASH и HLS с поддержкой аппаратного ускорения (NVENC / Intel QSV / AMD AMF / VAAPI), адаптивным стримингом и автоматической генерацией превью.

Возможности:

  • Аппаратное ускорение: NVENC / Intel QSV / AMD AMF / VAAPI (автовыбор по приоритету)
  • 🎯 Форматы: DASH и HLS (оба из одних сегментов)
  • 📊 Профили качества: множественные битрейты и FPS, авто или кастом
  • 🖼️ Превью: thumbnail спрайты + VTT, постер с первого кадра
  • ⏱️ Прогресс: CLI прогресс-бары по профилям и общему этапу

Install

Для корректной работы CLI требуется установленые в системе FFmpeg и MP4Box.

# Arch Linux
sudo pacman -S ffmpeg gpac

# Ubuntu/Debian
sudo apt install ffmpeg gpac

# macOS
brew install ffmpeg gpac

Быстрый старт

Перед запуском убедитесь, что в системе установлены FFmpeg и MP4Box (см. Install).

# Использование через npx (без установки)
npx @gromlab/create-vod video.mp4

# Или глобальная установка
npm install -g @gromlab/create-vod
create-vod video.mp4

Результат: В текущей директории будет создана папка video/ с сегментами в папках {profile}-{codec}/, манифестами DASH и HLS в корне, постером и превью спрайтами.

Параметры CLI

create-vod <input-video> [output-dir] [-r resolutions] [-c codec] [-p poster-timecode] [-e encoder] [-d decoder]

Основные параметры

Параметр Описание По умолчанию Обязательный
input-video Путь к входному видео файлу -
output-dir Директория для выходных файлов . (текущая папка)

Опциональные ключи

Ключ Описание Значения / формат По умолчанию Пример
-r, --resolutions Выбор профилей качества 360, 720@60, 1080-60 авто -r 720,1080,1440@60
-c, --codec Видео кодек(и) h264, av1 (через пробел или запятую) h264 -c h264,av1
-p, --poster Таймкод для постера HH:MM:SS или секунды 00:00:00 -p 00:00:05 или -p 10
-e, --encoder Видео энкодер auto, nvenc, qsv, amf, vaapi, videotoolbox, v4l2, cpu auto -e nvenc
-d, --decoder Видео декодер (hwaccel) auto, nvenc, qsv, vaapi, videotoolbox, v4l2, cpu auto -d cpu

Примеры использования

# Базовая конвертация (DASH + HLS, авто кодек, автопрофили)
create-vod video.mp4

# Указать выходную директорию
create-vod video.mp4 ./output

# Только выбранные разрешения
create-vod video.mp4 -r 720,1080,1440

# Высокий FPS для игровых стримов
create-vod video.mp4 -r 720@60,1080@60

# Постер с 5-й секунды
create-vod video.mp4 -p 5

# Комбинация параметров
create-vod video.mp4 ./output -r 720,1080@60,1440@60 -p 00:00:10

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

Разрешение Стандартное название FPS варианты
360 360p (640×360) 30, 60, 90, 120
480 480p (854×480) 30, 60, 90, 120
720 720p HD (1280×720) 30, 60, 90, 120
1080 1080p Full HD (1920×1080) 30, 60, 90, 120
1440 1440p 2K (2560×1440) 30, 60, 90, 120
2160 2160p 4K (3840×2160) 30, 60, 90, 120

Примечание: Высокие FPS (60/90/120) создаются автоматически только если исходное видео поддерживает соответствующий FPS.

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

  • Длительность сегментов: 2 секунды
  • NVENC: автоопределение (GPU если доступен, иначе CPU)
  • Профили качества: автоматический выбор на основе разрешения исходного видео
  • Битрейт: динамический расчет по формуле BPP (Bits Per Pixel)
  • Превью спрайты: генерируются автоматически (160×90px, интервал 1 сек)
  • Постер: извлекается с начала видео (кадр 0:00:00, можно изменить через -p)
  • Параллельное кодирование: включено

Требования: Node.js ≥18.0.0, FFmpeg, MP4Box (gpac), опционально NVIDIA GPU для ускорения