sync
This commit is contained in:
33
README.md
33
README.md
@@ -1,18 +1,21 @@
|
|||||||
# DASH Video Converter 🎬
|
# Adaptive Video Converter 🎬
|
||||||
|
|
||||||
CLI инструмент для конвертации видео в форматы DASH и HLS с поддержкой GPU ускорения (NVENC), адаптивным стримингом и автоматической генерацией превью.
|
CLI инструмент для конвертации видео в адаптивные форматы DASH и HLS с поддержкой GPU ускорения (NVENC), множественными профилями качества и автоматической генерацией превью.
|
||||||
|
|
||||||
**Возможности:** ⚡ NVENC ускорение • 🎯 DASH + HLS форматы • 📊 Множественные битрейты • 🖼️ Thumbnail спрайты • 📸 Генерация постера • ⏱️ Прогресс в реальном времени
|
**Возможности:** ⚡ NVENC ускорение • 🎯 DASH + HLS форматы • 📊 Адаптивный битрейт (ABR) • 🖼️ Thumbnail спрайты • 📸 Генерация постера • ⏱️ Прогресс в реальном времени
|
||||||
|
|
||||||
## Быстрый старт
|
## Быстрый старт
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Использование через npx (без установки)
|
# Использование через npx (без установки)
|
||||||
npx @grom13/dvc-cli video.mp4
|
npx @grom13/adaptive-video-converter video.mp4
|
||||||
|
|
||||||
# Или глобальная установка
|
# Или глобальная установка
|
||||||
npm install -g @grom13/dvc-cli
|
npm install -g @grom13/adaptive-video-converter
|
||||||
dvc-cli video.mp4
|
|
||||||
|
# Две команды на выбор:
|
||||||
|
adaptive-video-converter video.mp4 # полное название
|
||||||
|
avc video.mp4 # короткая форма
|
||||||
```
|
```
|
||||||
|
|
||||||
**Системные требования:**
|
**Системные требования:**
|
||||||
@@ -32,7 +35,7 @@ brew install ffmpeg gpac
|
|||||||
## Параметры CLI
|
## Параметры CLI
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli <input-video> [output-dir] [-r resolutions] [-c codec] [-f format] [-p poster-timecode]
|
avc <input-video> [output-dir] [-r resolutions] [-c codec] [-f format] [-p poster-timecode]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Основные параметры
|
### Основные параметры
|
||||||
@@ -55,28 +58,28 @@ dvc-cli <input-video> [output-dir] [-r resolutions] [-c codec] [-f format] [-p p
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Базовая конвертация (DASH + HLS, dual codec, автопрофили)
|
# Базовая конвертация (DASH + HLS, dual codec, автопрофили)
|
||||||
dvc-cli video.mp4
|
avc video.mp4
|
||||||
|
|
||||||
# Указать выходную директорию
|
# Указать выходную директорию
|
||||||
dvc-cli video.mp4 ./output
|
avc video.mp4 ./output
|
||||||
|
|
||||||
# Только выбранные разрешения
|
# Только выбранные разрешения
|
||||||
dvc-cli video.mp4 -r 720,1080,1440
|
avc video.mp4 -r 720,1080,1440
|
||||||
|
|
||||||
# Высокий FPS для игровых стримов
|
# Высокий FPS для игровых стримов
|
||||||
dvc-cli video.mp4 -r 720@60,1080@60
|
avc video.mp4 -r 720@60,1080@60
|
||||||
|
|
||||||
# Только DASH формат
|
# Только DASH формат
|
||||||
dvc-cli video.mp4 -f dash
|
avc video.mp4 -f dash
|
||||||
|
|
||||||
# Только HLS для Safari/iOS
|
# Только HLS для Safari/iOS
|
||||||
dvc-cli video.mp4 -f hls -c h264
|
avc video.mp4 -f hls -c h264
|
||||||
|
|
||||||
# Постер с 5-й секунды
|
# Постер с 5-й секунды
|
||||||
dvc-cli video.mp4 -p 5
|
avc video.mp4 -p 5
|
||||||
|
|
||||||
# Комбинация параметров
|
# Комбинация параметров
|
||||||
dvc-cli video.mp4 ./output -r 720,1080@60,1440@60 -c dual -f both -p 00:00:10
|
avc video.mp4 ./output -r 720,1080@60,1440@60 -c dual -f both -p 00:00:10
|
||||||
```
|
```
|
||||||
|
|
||||||
### Поддерживаемые разрешения
|
### Поддерживаемые разрешения
|
||||||
|
|||||||
120
bin/cli.js
120
bin/cli.js
File diff suppressed because one or more lines are too long
@@ -1,13 +1,13 @@
|
|||||||
# CLI Reference — Справочник команд
|
# CLI Reference — Справочник команд
|
||||||
|
|
||||||
Полное руководство по использованию DASH Video Converter CLI.
|
Полное руководство по использованию Adaptive Video Converter CLI.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Синтаксис
|
## Синтаксис
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli <input-video> [output-dir] [options]
|
avc <input-video> [output-dir] [options]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Позиционные аргументы
|
## Позиционные аргументы
|
||||||
@@ -41,13 +41,13 @@ dvc-cli <input-video> [output-dir] [options]
|
|||||||
**Примеры:**
|
**Примеры:**
|
||||||
```bash
|
```bash
|
||||||
# Базовые разрешения (30 FPS)
|
# Базовые разрешения (30 FPS)
|
||||||
dvc-cli video.mp4 -r 360,720,1080
|
avc video.mp4 -r 360,720,1080
|
||||||
|
|
||||||
# С указанием FPS
|
# С указанием FPS
|
||||||
dvc-cli video.mp4 -r 720@60,1080@60
|
avc video.mp4 -r 720@60,1080@60
|
||||||
|
|
||||||
# Смешанный формат
|
# Смешанный формат
|
||||||
dvc-cli video.mp4 -r 360 720@60 1080 1440@120
|
avc video.mp4 -r 360 720@60 1080 1440@120
|
||||||
```
|
```
|
||||||
|
|
||||||
**Автоматическая коррекция FPS:**
|
**Автоматическая коррекция FPS:**
|
||||||
@@ -71,13 +71,13 @@ dvc-cli video.mp4 -r 360 720@60 1080 1440@120
|
|||||||
**Примеры:**
|
**Примеры:**
|
||||||
```bash
|
```bash
|
||||||
# Только H.264 (быстрее, больше места)
|
# Только H.264 (быстрее, больше места)
|
||||||
dvc-cli video.mp4 -c h264
|
avc video.mp4 -c h264
|
||||||
|
|
||||||
# Только AV1 (медленнее, меньше места)
|
# Только AV1 (медленнее, меньше места)
|
||||||
dvc-cli video.mp4 -c av1
|
avc video.mp4 -c av1
|
||||||
|
|
||||||
# Оба кодека (максимальная совместимость)
|
# Оба кодека (максимальная совместимость)
|
||||||
dvc-cli video.mp4 -c dual
|
avc video.mp4 -c dual
|
||||||
```
|
```
|
||||||
|
|
||||||
**GPU ускорение:**
|
**GPU ускорение:**
|
||||||
@@ -100,13 +100,13 @@ dvc-cli video.mp4 -c dual
|
|||||||
**Примеры:**
|
**Примеры:**
|
||||||
```bash
|
```bash
|
||||||
# Только DASH
|
# Только DASH
|
||||||
dvc-cli video.mp4 -f dash
|
avc video.mp4 -f dash
|
||||||
|
|
||||||
# Только HLS (для Safari/iOS)
|
# Только HLS (для Safari/iOS)
|
||||||
dvc-cli video.mp4 -f hls
|
avc video.mp4 -f hls
|
||||||
|
|
||||||
# Оба формата (максимальная совместимость)
|
# Оба формата (максимальная совместимость)
|
||||||
dvc-cli video.mp4 -f both
|
avc video.mp4 -f both
|
||||||
```
|
```
|
||||||
|
|
||||||
**Особенности:**
|
**Особенности:**
|
||||||
@@ -163,10 +163,10 @@ output/
|
|||||||
**Примеры:**
|
**Примеры:**
|
||||||
```bash
|
```bash
|
||||||
# 5 секунд от начала
|
# 5 секунд от начала
|
||||||
dvc-cli video.mp4 -p 5
|
avc video.mp4 -p 5
|
||||||
|
|
||||||
# 1 минута 30 секунд
|
# 1 минута 30 секунд
|
||||||
dvc-cli video.mp4 -p 00:01:30
|
avc video.mp4 -p 00:01:30
|
||||||
```
|
```
|
||||||
|
|
||||||
**По умолчанию:** `00:00:01` (1 секунда от начала)
|
**По умолчанию:** `00:00:01` (1 секунда от начала)
|
||||||
@@ -179,68 +179,68 @@ dvc-cli video.mp4 -p 00:01:30
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Простейший запуск (оба формата, dual codec, автопрофили)
|
# Простейший запуск (оба формата, dual codec, автопрофили)
|
||||||
dvc-cli video.mp4
|
avc video.mp4
|
||||||
|
|
||||||
# С указанием выходной директории
|
# С указанием выходной директории
|
||||||
dvc-cli video.mp4 ./output
|
avc video.mp4 ./output
|
||||||
```
|
```
|
||||||
|
|
||||||
### Кастомные профили
|
### Кастомные профили
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Только 720p и 1080p
|
# Только 720p и 1080p
|
||||||
dvc-cli video.mp4 -r 720,1080
|
avc video.mp4 -r 720,1080
|
||||||
|
|
||||||
# High FPS профили
|
# High FPS профили
|
||||||
dvc-cli video.mp4 -r 720@60,1080@60,1440@120
|
avc video.mp4 -r 720@60,1080@60,1440@120
|
||||||
|
|
||||||
# Один профиль 4K
|
# Один профиль 4K
|
||||||
dvc-cli video.mp4 -r 2160
|
avc video.mp4 -r 2160
|
||||||
```
|
```
|
||||||
|
|
||||||
### Выбор кодека
|
### Выбор кодека
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Быстрое кодирование (только H.264)
|
# Быстрое кодирование (только H.264)
|
||||||
dvc-cli video.mp4 -c h264
|
avc video.mp4 -c h264
|
||||||
|
|
||||||
# Лучшее сжатие (только AV1)
|
# Лучшее сжатие (только AV1)
|
||||||
dvc-cli video.mp4 -c av1
|
avc video.mp4 -c av1
|
||||||
|
|
||||||
# Максимальная совместимость
|
# Максимальная совместимость
|
||||||
dvc-cli video.mp4 -c dual
|
avc video.mp4 -c dual
|
||||||
```
|
```
|
||||||
|
|
||||||
### Выбор формата
|
### Выбор формата
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# DASH для современных браузеров
|
# DASH для современных браузеров
|
||||||
dvc-cli video.mp4 -f dash
|
avc video.mp4 -f dash
|
||||||
|
|
||||||
# HLS для Safari/iOS
|
# HLS для Safari/iOS
|
||||||
dvc-cli video.mp4 -f hls -c h264
|
avc video.mp4 -f hls -c h264
|
||||||
|
|
||||||
# Оба формата для всех устройств
|
# Оба формата для всех устройств
|
||||||
dvc-cli video.mp4 -f both -c dual
|
avc video.mp4 -f both -c dual
|
||||||
```
|
```
|
||||||
|
|
||||||
### Комбинированные примеры
|
### Комбинированные примеры
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Производственная конфигурация
|
# Производственная конфигурация
|
||||||
dvc-cli video.mp4 ./cdn/videos -r 360,720,1080 -c dual -f both
|
avc video.mp4 ./cdn/videos -r 360,720,1080 -c dual -f both
|
||||||
|
|
||||||
# High-end конфигурация (4K, high FPS)
|
# High-end конфигурация (4K, high FPS)
|
||||||
dvc-cli video.mp4 -r 720@60,1080@60,1440@120,2160@60 -c dual -f both
|
avc video.mp4 -r 720@60,1080@60,1440@120,2160@60 -c dual -f both
|
||||||
|
|
||||||
# Быстрая конвертация для тестов
|
# Быстрая конвертация для тестов
|
||||||
dvc-cli video.mp4 -r 720 -c h264 -f dash
|
avc video.mp4 -r 720 -c h264 -f dash
|
||||||
|
|
||||||
# Mobile-first (низкие разрешения, HLS)
|
# Mobile-first (низкие разрешения, HLS)
|
||||||
dvc-cli video.mp4 -r 360,480,720 -c h264 -f hls
|
avc video.mp4 -r 360,480,720 -c h264 -f hls
|
||||||
|
|
||||||
# Кастомный постер
|
# Кастомный постер
|
||||||
dvc-cli video.mp4 -r 720,1080 -p 00:02:30
|
avc video.mp4 -r 720,1080 -p 00:02:30
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -302,7 +302,7 @@ brew install ffmpeg gpac
|
|||||||
### Для максимальной совместимости
|
### Для максимальной совместимости
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli video.mp4 -c dual -f both
|
avc video.mp4 -c dual -f both
|
||||||
```
|
```
|
||||||
|
|
||||||
Генерирует:
|
Генерирует:
|
||||||
@@ -313,7 +313,7 @@ dvc-cli video.mp4 -c dual -f both
|
|||||||
### Для быстрой разработки
|
### Для быстрой разработки
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli video.mp4 -r 720 -c h264 -f dash
|
avc video.mp4 -r 720 -c h264 -f dash
|
||||||
```
|
```
|
||||||
|
|
||||||
Быстрое кодирование одного профиля.
|
Быстрое кодирование одного профиля.
|
||||||
@@ -321,7 +321,7 @@ dvc-cli video.mp4 -r 720 -c h264 -f dash
|
|||||||
### Для продакшена
|
### Для продакшена
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli video.mp4 -r 360,480,720,1080,1440 -c dual -f both
|
avc video.mp4 -r 360,480,720,1080,1440 -c dual -f both
|
||||||
```
|
```
|
||||||
|
|
||||||
Широкий диапазон профилей для всех устройств.
|
Широкий диапазон профилей для всех устройств.
|
||||||
@@ -329,7 +329,7 @@ dvc-cli video.mp4 -r 360,480,720,1080,1440 -c dual -f both
|
|||||||
### Для 4K контента
|
### Для 4K контента
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dvc-cli video.mp4 -r 720,1080,1440,2160 -c dual -f both
|
avc video.mp4 -r 720,1080,1440,2160 -c dual -f both
|
||||||
```
|
```
|
||||||
|
|
||||||
От HD до 4K для премиум контента.
|
От HD до 4K для премиум контента.
|
||||||
@@ -348,9 +348,9 @@ dvc-cli video.mp4 -r 720,1080,1440,2160 -c dual -f both
|
|||||||
**Решение:**
|
**Решение:**
|
||||||
```bash
|
```bash
|
||||||
# Используйте h264 или dual
|
# Используйте h264 или dual
|
||||||
dvc-cli video.mp4 -f hls -c h264
|
avc video.mp4 -f hls -c h264
|
||||||
# или
|
# или
|
||||||
dvc-cli video.mp4 -f hls -c dual
|
avc video.mp4 -f hls -c dual
|
||||||
```
|
```
|
||||||
|
|
||||||
### FPS источника ниже запрошенного
|
### FPS источника ниже запрошенного
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Возможности DASH Video Converter
|
# Возможности Adaptive Video Converter
|
||||||
|
|
||||||
## Архитектура
|
## Архитектура
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ npm login
|
|||||||
### Шаг 2: Сборка проекта
|
### Шаг 2: Сборка проекта
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /home/gromov/projects/my/dvc-cli
|
cd /home/gromov/projects/my/adaptive-video-converter
|
||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ npm pack --dry-run
|
|||||||
|
|
||||||
# Или создать тестовый архив для проверки
|
# Или создать тестовый архив для проверки
|
||||||
npm pack
|
npm pack
|
||||||
# Это создаст файл grom13-dvc-cli-0.1.0.tgz
|
# Это создаст файл grom13-adaptive-video-converter-0.1.0.tgz
|
||||||
```
|
```
|
||||||
|
|
||||||
## Публикация
|
## Публикация
|
||||||
@@ -47,13 +47,13 @@ npm publish --access public
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Проверить что пакет доступен
|
# Проверить что пакет доступен
|
||||||
npm view @grom13/dvc-cli
|
npm view @grom13/adaptive-video-converter
|
||||||
|
|
||||||
# Протестировать установку через npx
|
# Протестировать установку через npx
|
||||||
npx @grom13/dvc-cli --help
|
npx @grom13/adaptive-video-converter --help
|
||||||
|
|
||||||
# Или установить глобально и протестировать
|
# Или установить глобально и протестировать
|
||||||
npm install -g @grom13/dvc-cli
|
npm install -g @grom13/adaptive-video-converter
|
||||||
dvc --help
|
dvc --help
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -82,10 +82,10 @@ npm publish --access public
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Удалить конкретную версию (в течение 72 часов)
|
# Удалить конкретную версию (в течение 72 часов)
|
||||||
npm unpublish @grom13/dvc-cli@0.1.0
|
npm unpublish @grom13/adaptive-video-converter@0.1.0
|
||||||
|
|
||||||
# Удалить весь пакет (использовать осторожно!)
|
# Удалить весь пакет (использовать осторожно!)
|
||||||
npm unpublish @grom13/dvc-cli --force
|
npm unpublish @grom13/adaptive-video-converter --force
|
||||||
```
|
```
|
||||||
|
|
||||||
⚠️ **Внимание:** После unpublish нельзя повторно опубликовать ту же версию. Нужно увеличить версию.
|
⚠️ **Внимание:** После unpublish нельзя повторно опубликовать ту же версию. Нужно увеличить версию.
|
||||||
@@ -96,14 +96,14 @@ npm unpublish @grom13/dvc-cli --force
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Через npx (без установки)
|
# Через npx (без установки)
|
||||||
npx @grom13/dvc-cli video.mp4 ./output
|
npx @grom13/adaptive-video-converter video.mp4 ./output
|
||||||
|
|
||||||
# Глобальная установка
|
# Глобальная установка
|
||||||
npm install -g @grom13/dvc-cli
|
npm install -g @grom13/adaptive-video-converter
|
||||||
dvc video.mp4 ./output
|
dvc video.mp4 ./output
|
||||||
|
|
||||||
# Локальная установка в проект
|
# Локальная установка в проект
|
||||||
npm install @grom13/dvc-cli
|
npm install @grom13/adaptive-video-converter
|
||||||
```
|
```
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|||||||
@@ -468,8 +468,8 @@ chmod +x test_codec.sh
|
|||||||
# - AV1 для современных браузеров
|
# - AV1 для современных браузеров
|
||||||
# - H.264 для старых устройств (iOS < 14)
|
# - H.264 для старых устройств (iOS < 14)
|
||||||
|
|
||||||
# Пример: dvc-cli уже реализует это
|
# Пример: avc уже реализует это
|
||||||
dvc-cli input.mp4 output/ -c dual -f both -r 360,720,1080
|
avc input.mp4 output/ -c dual -f both -r 360,720,1080
|
||||||
```
|
```
|
||||||
|
|
||||||
### Для архивирования
|
### Для архивирования
|
||||||
|
|||||||
30
package.json
30
package.json
@@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "@grom13/dvc-cli",
|
"name": "@grom13/adaptive-video-converter",
|
||||||
"version": "0.1.3",
|
"version": "0.0.1",
|
||||||
"description": "Fast DASH video converter with NVENC acceleration and thumbnail sprites",
|
"description": "Конвертер видео в адаптивные форматы DASH и HLS с GPU-ускорением (NVENC) и генерацией превью",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
"bin": {
|
"bin": {
|
||||||
"dvc-cli": "./bin/cli.js"
|
"adaptive-video-converter": "./bin/cli.js",
|
||||||
|
"avc": "./bin/cli.js"
|
||||||
},
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
@@ -29,27 +30,30 @@
|
|||||||
"test": "bun run src/cli.ts"
|
"test": "bun run src/cli.ts"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
"adaptive-video",
|
||||||
|
"video-converter",
|
||||||
"dash",
|
"dash",
|
||||||
"video",
|
"hls",
|
||||||
"converter",
|
|
||||||
"ffmpeg",
|
"ffmpeg",
|
||||||
"nvenc",
|
"nvenc",
|
||||||
"streaming",
|
|
||||||
"cli",
|
|
||||||
"video-processing",
|
|
||||||
"adaptive-streaming",
|
"adaptive-streaming",
|
||||||
"thumbnails"
|
"abr",
|
||||||
|
"video-processing",
|
||||||
|
"thumbnails",
|
||||||
|
"av1",
|
||||||
|
"h264",
|
||||||
|
"cli"
|
||||||
],
|
],
|
||||||
"author": "grom13",
|
"author": "grom13",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gromlab.ru/gromov/dvc-cli.git"
|
"url": "https://gromlab.ru/gromov/adaptive-video-converter.git"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://gromlab.ru/gromov/dvc-cli/issues"
|
"url": "https://gromlab.ru/gromov/adaptive-video-converter/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://gromlab.ru/gromov/dvc-cli#readme",
|
"homepage": "https://gromlab.ru/gromov/adaptive-video-converter#readme",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
33
src/cli.ts
33
src/cli.ts
@@ -1,13 +1,14 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DASH Video Converter CLI
|
* Adaptive Video Converter CLI
|
||||||
*
|
* Конвертер видео в адаптивные форматы DASH и HLS
|
||||||
|
*
|
||||||
* Usage:
|
* Usage:
|
||||||
* dvc-cli <input-video> [output-dir] [-r resolutions] [-p poster-timecode]
|
* avc <input-video> [output-dir] [-r resolutions] [-c codec] [-f format] [-p poster-timecode]
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* dvc-cli ./video.mp4 ./output -r 720,1080
|
* avc ./video.mp4 ./output -r 720,1080
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { convertToDash, checkFFmpeg, checkNvenc, checkMP4Box, checkAV1Support, getVideoMetadata } from './index';
|
import { convertToDash, checkFFmpeg, checkNvenc, checkMP4Box, checkAV1Support, getVideoMetadata } from './index';
|
||||||
@@ -109,7 +110,7 @@ const input = positionalArgs[0];
|
|||||||
const outputDir = positionalArgs[1] || '.'; // Текущая директория по умолчанию
|
const outputDir = positionalArgs[1] || '.'; // Текущая директория по умолчанию
|
||||||
|
|
||||||
if (!input) {
|
if (!input) {
|
||||||
console.error('❌ Usage: dvc-cli <input-video> [output-dir] [options]');
|
console.error('❌ Usage: avc <input-video> [output-dir] [options]');
|
||||||
console.error('\nOptions:');
|
console.error('\nOptions:');
|
||||||
console.error(' -r, --resolutions Video resolutions (e.g., 360,480,720 or 720@60,1080@60)');
|
console.error(' -r, --resolutions Video resolutions (e.g., 360,480,720 or 720@60,1080@60)');
|
||||||
console.error(' -c, --codec Video codec: av1, h264, or dual (default: dual)');
|
console.error(' -c, --codec Video codec: av1, h264, or dual (default: dual)');
|
||||||
@@ -121,16 +122,16 @@ if (!input) {
|
|||||||
console.error(' --av1-cq <value> AV1 GPU CQ value (0-51, lower = better, default: auto)');
|
console.error(' --av1-cq <value> AV1 GPU CQ value (0-51, lower = better, default: auto)');
|
||||||
console.error(' --av1-crf <value> AV1 CPU CRF value (0-63, lower = better, default: auto)');
|
console.error(' --av1-crf <value> AV1 CPU CRF value (0-63, lower = better, default: auto)');
|
||||||
console.error('\nExamples:');
|
console.error('\nExamples:');
|
||||||
console.error(' dvc-cli video.mp4');
|
console.error(' avc video.mp4');
|
||||||
console.error(' dvc-cli video.mp4 ./output');
|
console.error(' avc video.mp4 ./output');
|
||||||
console.error(' dvc-cli video.mp4 -r 360,480,720');
|
console.error(' avc video.mp4 -r 360,480,720');
|
||||||
console.error(' dvc-cli video.mp4 -c av1 --av1-cq 40');
|
console.error(' avc video.mp4 -c av1 --av1-cq 40');
|
||||||
console.error(' dvc-cli video.mp4 -c dual --h264-cq 30 --av1-cq 39');
|
console.error(' avc video.mp4 -c dual --h264-cq 30 --av1-cq 39');
|
||||||
console.error(' dvc-cli video.mp4 -f hls');
|
console.error(' avc video.mp4 -f hls');
|
||||||
console.error(' dvc-cli video.mp4 -c dual -f both');
|
console.error(' avc video.mp4 -c dual -f both');
|
||||||
console.error(' dvc-cli video.mp4 -r 720@60,1080@60,2160@60 -c av1 -f dash');
|
console.error(' avc video.mp4 -r 720@60,1080@60,2160@60 -c av1 -f dash');
|
||||||
console.error(' dvc-cli video.mp4 -p 00:00:05');
|
console.error(' avc video.mp4 -p 00:00:05');
|
||||||
console.error(' dvc-cli video.mp4 ./output -r 720,1080 -c dual -f both -p 10 --h264-cq 28 --av1-cq 37');
|
console.error(' avc video.mp4 ./output -r 720,1080 -c dual -f both -p 10 --h264-cq 28 --av1-cq 37');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user