2025-11-08 19:41:20 +03:00
|
|
|
|
# DASH Video Converter 🎬
|
|
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
CLI инструмент для конвертации видео в формат DASH с поддержкой GPU ускорения (NVENC), адаптивным стримингом и автоматической генерацией превью.
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 10:40:35 +03:00
|
|
|
|
**Возможности:** ⚡ NVENC ускорение • 🎯 Множественные битрейты • 🖼️ Thumbnail спрайты • 📸 Генерация постера • 📊 Прогресс в реальном времени
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
## Быстрый старт
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-11-09 01:28:42 +03:00
|
|
|
|
# Использование через npx (без установки)
|
2025-11-09 10:40:35 +03:00
|
|
|
|
npx @grom13/dvc-cli video.mp4
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
# Или глобальная установка
|
|
|
|
|
|
npm install -g @grom13/dvc-cli
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4
|
2025-11-08 19:41:20 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
**Системные требования:**
|
2025-11-08 19:41:20 +03:00
|
|
|
|
```bash
|
2025-11-09 01:28:42 +03:00
|
|
|
|
# Arch Linux
|
|
|
|
|
|
sudo pacman -S ffmpeg gpac
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
# Ubuntu/Debian
|
|
|
|
|
|
sudo apt install ffmpeg gpac
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
# macOS
|
|
|
|
|
|
brew install ffmpeg gpac
|
2025-11-08 19:41:20 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-11-09 10:40:35 +03:00
|
|
|
|
**Результат:** В текущей директории будет создана папка `video/` с файлами `manifest.mpd`, видео сегментами, постером и превью спрайтами.
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
## Параметры CLI
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli <input-video> [output-dir] [-r resolutions] [-p poster-timecode]
|
2025-11-08 19:41:20 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-11-09 10:40:35 +03:00
|
|
|
|
### Основные параметры
|
|
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
| Параметр | Описание | По умолчанию | Обязательный |
|
|
|
|
|
|
|----------|----------|--------------|--------------|
|
|
|
|
|
|
| `input-video` | Путь к входному видео файлу | - | ✅ |
|
2025-11-09 10:40:35 +03:00
|
|
|
|
| `output-dir` | Директория для выходных файлов | `.` (текущая папка) | ❌ |
|
|
|
|
|
|
|
|
|
|
|
|
### Опциональные ключи
|
|
|
|
|
|
|
|
|
|
|
|
| Ключ | Описание | Формат | Пример |
|
|
|
|
|
|
|------|----------|--------|--------|
|
|
|
|
|
|
| `-r, --resolutions` | Выбор профилей качества | `360`, `720@60`, `1080-60` | `-r 720,1080,1440@60` |
|
|
|
|
|
|
| `-p, --poster` | Таймкод для постера | `HH:MM:SS` или секунды | `-p 00:00:05` или `-p 10` |
|
|
|
|
|
|
|
|
|
|
|
|
### Примеры использования
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Базовая конвертация (результат в текущей папке)
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Указать выходную директорию
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 ./output
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Только выбранные разрешения
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 -r 720,1080,1440
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Высокий FPS для игровых стримов
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 -r 720@60,1080@60
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Постер с 5-й секунды
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 -p 5
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Постер в формате времени
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 -p 00:01:30
|
2025-11-09 10:40:35 +03:00
|
|
|
|
|
|
|
|
|
|
# Комбинация параметров
|
2025-11-09 13:24:10 +03:00
|
|
|
|
dvc-cli video.mp4 ./output -r 720,1080@60,1440@60 -p 00:00:10
|
2025-11-09 10:40:35 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Поддерживаемые разрешения
|
|
|
|
|
|
|
|
|
|
|
|
| Разрешение | Стандартное название | 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`)
|
|
|
|
|
|
- **Параллельное кодирование:** включено
|
2025-11-08 19:41:20 +03:00
|
|
|
|
|
2025-11-09 01:28:42 +03:00
|
|
|
|
**Требования:** Node.js ≥18.0.0, FFmpeg, MP4Box (gpac), опционально NVIDIA GPU для ускорения
|