291 lines
7.7 KiB
Markdown
291 lines
7.7 KiB
Markdown
# Опции и ключи
|
||
|
||
Полный справочник всех доступных опций командной строки.
|
||
|
||
## Позиционные аргументы
|
||
|
||
### `<input-video>`
|
||
**Обязательный**. Путь к входному видео файлу.
|
||
|
||
```bash
|
||
avc video.mp4
|
||
avc /path/to/movie.mkv
|
||
avc ../videos/stream.avi
|
||
```
|
||
|
||
**Поддерживаемые форматы:** MP4, MKV, AVI, MOV, WebM и другие, поддерживаемые FFmpeg.
|
||
|
||
### `[output-dir]`
|
||
**Опциональный**. Директория для сохранения результата.
|
||
|
||
```bash
|
||
avc video.mp4 ./output
|
||
avc video.mp4 /var/www/videos
|
||
```
|
||
|
||
**По умолчанию:** `.` (текущая директория)
|
||
|
||
**Структура:** Внутри создается папка с именем видео без расширения.
|
||
|
||
## Основные опции
|
||
|
||
### `-r, --resolutions`
|
||
Выбор профилей качества (разрешений).
|
||
|
||
**Формат:**
|
||
```bash
|
||
-r <resolution>[,<resolution>...]
|
||
-r <resolution>@<fps>[,<resolution>@<fps>...]
|
||
```
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# Стандартные разрешения (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)
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# Только 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` — Оба формата
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# Только 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`)
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# С 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 (меньше = лучше качество, больше размер)
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# Очень высокое качество
|
||
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
|
||
|
||
**Примеры:**
|
||
```bash
|
||
avc video.mp4 -c h264 --h264-crf 20
|
||
```
|
||
|
||
**Используется:** Когда NVENC недоступен (фоллбек на CPU)
|
||
|
||
---
|
||
|
||
### `--av1-cq`
|
||
Значение CQ для AV1 NVENC GPU кодирования.
|
||
|
||
**Диапазон:** 0-51
|
||
|
||
**Примеры:**
|
||
```bash
|
||
# Высокое качество 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
|
||
|
||
**Примеры:**
|
||
```bash
|
||
avc video.mp4 -c av1 --av1-crf 35
|
||
```
|
||
|
||
**Используется:** Когда AV1 NVENC недоступен
|
||
|
||
---
|
||
|
||
## Комбинации опций
|
||
|
||
### Веб-сайт (стандартное качество)
|
||
```bash
|
||
avc video.mp4 -r 720,1080 -c dual -f both
|
||
```
|
||
|
||
### Стриминговый сервис (высокое качество)
|
||
```bash
|
||
avc video.mp4 -r 360,720,1080,1440,2160 -c dual -f both --h264-cq 23 --av1-cq 30
|
||
```
|
||
|
||
### Мобильные устройства (экономия трафика)
|
||
```bash
|
||
avc video.mp4 -r 360,480,720 -c av1 -f dash --av1-cq 40
|
||
```
|
||
|
||
### Игровой контент (60 FPS)
|
||
```bash
|
||
avc video.mp4 -r 720@60,1080@60,1440@120 -c dual -f dash
|
||
```
|
||
|
||
### Apple экосистема
|
||
```bash
|
||
avc video.mp4 -r 720,1080 -c h264 -f hls
|
||
```
|
||
|
||
### Архивное качество (максимум)
|
||
```bash
|
||
avc video.mp4 -r 1080,1440,2160 -c dual -f both --h264-cq 18 --av1-cq 25
|
||
```
|
||
|
||
---
|
||
|
||
## Логи и отладка
|
||
|
||
CLI автоматически создает файл `conversion.log` в выходной директории с подробной информацией о конвертации.
|
||
|
||
**Содержимое:**
|
||
- Параметры FFmpeg
|
||
- Битрейты каждого профиля
|
||
- Время кодирования
|
||
- Ошибки и предупреждения
|
||
|
||
---
|
||
|
||
## Следующие шаги
|
||
|
||
- [Примеры](/cli/examples) — Практические сценарии использования
|
||
- [API Библиотеки](/api/) — Программное использование
|