Что такое CRF (постоянный коэффициент качества)?
Определение
CRF (Constant Rate Factor, постоянный коэффициент качества) - основной параметр качества в кодировщиках x264 (H.264) и x265 (H.265). Он задаёт постоянное воспринимаемое качество вместо фиксированного битрейта: чем ниже CRF, тем выше качество и больше файл, а чем выше CRF, тем меньше файл и больше артефактов.
CRF позволяет кодировщику тратить биты там, где они нужны. Вместо удержания постоянного битрейта он удерживает постоянное визуальное качество: на спокойных сценах биты экономятся, а на сложном движении расходуются. Вы задаёте одно число, а кодировщик сам выбирает битрейт для каждого кадра. Поэтому CRF обычно даёт лучшее соотношение размера и качества, чем кодирование с фиксированным битрейтом (ABR), для готовых файлов, которые кодируют один раз и хранят.
Шкала CRF идёт от 0 до 51 как в x264, так и в x265, и чем ниже значение, тем выше качество: 0 - это без потерь, а на практике используют значения выше. Примерно 18-23 для большинства материалов почти неотличимо от оригинала, а 24-28 даёт хороший баланс малого размера и качества. Значение по умолчанию в x264 - 23 (в x265 - 28). Как ориентир: изменение CRF примерно на +6 уменьшает размер файла вдвое, а на -6 - примерно вдвое увеличивает.
Частое заблуждение - считать CRF фиксированным битрейтом или процентом, хотя это не так. Один и тот же CRF может давать очень разный размер файла в зависимости от сложности материала. Значения CRF также нельзя сравнивать между кодеками: CRF 23 в x265 (H.265) выглядит лучше и даёт меньший файл, чем CRF 23 в x264 (H.264), потому что шкалы настроены по-разному.
Кратко о главном
- CRF расшифровывается как Constant Rate Factor (постоянный коэффициент качества)
- Используется в кодировщиках x264 (H.264) и x265 (H.265)
- Шкала 0-51: ниже = выше качество и больше файл
- 0 - без потерь; умолчание в x264 - CRF 23, в x265 - CRF 28; ~18-23 почти без потерь, ~24-28 баланс размера и качества
- Задаёт воспринимаемое качество, а не фиксированный битрейт