Термин

Constant frame rate (CFR)

Короткое определение

Видео, где все кадры отстоят друг от друга на одинаковый временной интервал. Дефолтный и рекомендуемый режим для encoding на доставку.

CFR – Constant Frame Rate, постоянная частота кадров – означает, что интервал между каждыми двумя соседними кадрами одинаков. У 30 fps CFR-видео кадры отстоят друг от друга ровно на 1/30 секунды от начала до конца. Это допущение, которое по умолчанию делает практически любой видеоинструмент, кодек, плеер и платформа. Камеры, broadcast-оборудование, профессиональные монтажные пакеты и стриминговые пайплайны ожидают CFR на входе.

Противоположность – `vfr`, Variable Frame Rate, когда кадры расставлены неравномерно, потому что были захвачены с нерегулярным интервалом. Скринкасты с телефона, инструменты захвата экрана (OBS, QuickTime), некоторые fallback-режимы live-энкодеров и отдельные мобильные камеры выдают VFR. Сама запись в VFR – нормально, но дальше по пайплайну начинаются проблемы: rate control энкодеров путается, синхронизация аудио-видео в плеерах уплывает, монтажные инструменты показывают неправильную длительность.

Для продуктовых команд практическое правило – приводить к CFR при ingest. Когда пользователь загружает VFR-контент, первым шагом пайплайна конвертируйте в разумный CFR (обычно 30 или 60 fps). FFmpeg делает это флагом `-r` плюс аккуратным фильтром. Конвертация по сути не стоит ничего в качестве, но избавляет от целой категории багов дальше по цепочке – поломанных миниатюр, уплывающих субтитров, странно выглядящих файлов после энкода, плееров, которые плавно играют на одном устройстве и дёргаются на другом. CFR не звучит гламурно, но это фундамент, на котором всё остальное в стриминг-пайплайне ведёт себя предсказуемо.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.