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