Files
2025-12-03 22:46:15 +03:00

291 lines
7.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Опции и ключи
Полный справочник всех доступных опций командной строки.
## Позиционные аргументы
### `<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/) — Программное использование