fix: Исправление выбора энкодер/декодер
This commit is contained in:
37
docs/CLI_OPTIONS.md
Normal file
37
docs/CLI_OPTIONS.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Поддерживаемые опции CLI
|
||||
|
||||
## Базовый вызов
|
||||
```
|
||||
create-vod <input-video> [output-dir] [options]
|
||||
```
|
||||
|
||||
## Ключевые опции
|
||||
- `-r, --resolutions` — список профилей (например: `360,720@60,1080`).
|
||||
- `-c, --codec` — `h264` | `av1` (по умолчанию auto = h264 + AV1 при наличии HW).
|
||||
- `-f, --format` — `dash` | `hls` (по умолчанию auto = dash + hls).
|
||||
- `-p, --poster` — таймкод постера (`HH:MM:SS` или секунды, по умолчанию 0:00:00).
|
||||
- `-e, --encoder` — аппаратный/софт энкодер: `auto` | `cpu` | `nvenc` | `qsv` | `amf` | `vaapi` | `videotoolbox` | `v4l2`.
|
||||
- `-d, --decoder` — аппаратный/софт декодер: `auto` | `cpu` | `nvenc` (cuda) | `qsv` | `vaapi` | `videotoolbox` | `v4l2`.
|
||||
- `--h264-cq / --h264-crf` — ручное качество для H.264 (GPU CQ / CPU CRF).
|
||||
- `--av1-cq / --av1-crf` — ручное качество для AV1 (GPU CQ / CPU CRF).
|
||||
|
||||
## Что передаём в FFmpeg
|
||||
- `cpu` (энкодер) → H.264: `libx264`, AV1: `libsvtav1`.
|
||||
- `nvenc` → `h264_nvenc`, `av1_nvenc` (если доступен).
|
||||
- `qsv` → `h264_qsv`, `av1_qsv`.
|
||||
- `amf` → `h264_amf`, `av1_amf`.
|
||||
- `vaapi` → `h264_vaapi`, `av1_vaapi`.
|
||||
- `videotoolbox` → `h264_videotoolbox` (macOS).
|
||||
- `v4l2` → `h264_v4l2m2m` (зависит от SoC).
|
||||
|
||||
Декодеры:
|
||||
- `cpu` — без `-hwaccel`.
|
||||
- `nvenc` — `-hwaccel cuda -hwaccel_output_format cuda`.
|
||||
- `qsv` — `-hwaccel qsv`.
|
||||
- `vaapi` — `-hwaccel vaapi -vaapi_device /dev/dri/renderD128`.
|
||||
- `videotoolbox` — `-hwaccel videotoolbox`.
|
||||
- `v4l2` — `-hwaccel v4l2m2m`.
|
||||
|
||||
## Особенности
|
||||
- В авто-режиме AV1 включается только при наличии аппаратного AV1; иначе остаётся H.264.
|
||||
- `auto` выбирает лучший обнаруженный ускоритель по приоритету (nvenc → qsv → amf → vaapi → videotoolbox → v4l2 → cpu).
|
||||
Reference in New Issue
Block a user