2025-11-11 21:07:51 +03:00
2025-11-09 01:28:42 +03:00
2025-11-08 19:41:20 +03:00
2025-11-09 01:30:52 +03:00
2025-11-09 01:28:42 +03:00
2025-11-08 19:41:20 +03:00
2025-11-09 01:28:42 +03:00
2025-11-09 13:24:10 +03:00
2025-11-08 19:41:20 +03:00

DASH Video Converter 🎬

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

Возможности: NVENC ускорение • 🎯 DASH + HLS форматы • 📊 Множественные битрейты • 🖼️ Thumbnail спрайты • 📸 Генерация постера • ⏱️ Прогресс в реальном времени

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

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

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

Системные требования:

# Arch Linux
sudo pacman -S ffmpeg gpac

# Ubuntu/Debian
sudo apt install ffmpeg gpac

# macOS
brew install ffmpeg gpac

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

Параметры CLI

dvc-cli <input-video> [output-dir] [-r resolutions] [-c codec] [-f format] [-p poster-timecode]

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

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

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

Ключ Описание Формат Пример
-r, --resolutions Выбор профилей качества 360, 720@60, 1080-60 -r 720,1080,1440@60
-c, --codec Видео кодек h264, av1, dual -c dual (по умолчанию)
-f, --format Формат стриминга dash, hls, both -f both (по умолчанию)
-p, --poster Таймкод для постера HH:MM:SS или секунды -p 00:00:05 или -p 10

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

# Базовая конвертация (DASH + HLS, dual codec, автопрофили)
dvc-cli video.mp4

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

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

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

# Только DASH формат
dvc-cli video.mp4 -f dash

# Только HLS для Safari/iOS
dvc-cli video.mp4 -f hls -c h264

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

# Комбинация параметров
dvc-cli video.mp4 ./output -r 720,1080@60,1440@60 -c dual -f both -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 сек)
  • Постер: извлекается с 1-й секунды видео (можно изменить через -p)
  • Параллельное кодирование: включено

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

Description
No description provided
Readme MIT 185 KiB
Languages
TypeScript 84.2%
JavaScript 13.8%
HTML 2%