# Регулировка качества и измерение ## Целевое качество - Ориентир: средний VMAF ≥ 93 для кодированного видео. ## Что регулируем - GPU-энкодеры используют CQ (Constant Quality). - CPU-энкодеры используют CRF (Constant Rate Factor). - Значения по умолчанию взяты из текущей логики кодирования (см. `src/core/encoding.ts`) и могут быть переопределены через CLI (`--h264-cq`, `--h264-crf`, `--av1-cq`, `--av1-crf`). ## Дефолтные CQ/CRF | Энкодер | H.264 | AV1 | |------------------|-----------------|----------------| | NVENC | CQ 32 | CQ 42 | | QSV | CQ 32 | CQ 42 | | AMF | CQ 32 | CQ 42 | | VAAPI | CQ 32 | CQ 42 | | videotoolbox | CQ 32 | CQ 42 | | v4l2 | CQ 32 | CQ 42 | | CPU (libx264 / libsvtav1) | CRF 25→20* | CRF 40→28* | \* CPU значения зависят от целевого разрешения: - 360p: H.264 CRF 25, AV1 CRF 40 - 480p: H.264 CRF 24, AV1 CRF 38 - 720p: H.264 CRF 23, AV1 CRF 35 - 1080p: H.264 CRF 22, AV1 CRF 32 - 1440p: H.264 CRF 21, AV1 CRF 30 - 2160p: H.264 CRF 20, AV1 CRF 28 ## Как мерить качество (VMAF) 1. Закодируйте тестовый ролик с нужными параметрами (CQ/CRF). 2. Сравните с исходником по VMAF (разрешения должны совпадать, при необходимости приведите к одному размеру). 3. Пример команды FFmpeg c libvmaf: ```bash ffmpeg -i encoded.mp4 -i source.mp4 \ -lavfi "[0:v]setpts=PTS-STARTPTS[enc];[1:v]setpts=PTS-STARTPTS[ref];[enc][ref]libvmaf=log_path=vmaf.json:log_fmt=json" \ -f null - ``` В логах ищите `VMAF score`; если < 93 — увеличьте качество (понизьте CQ/CRF), если > 95 и нужен меньший битрейт — можно чуть поднять CQ/CRF.