Что такое Переменная частота кадров?

Переменная частота кадров (или VFR) - это термин в сжатии видео для функции, поддерживаемой некоторыми форматами контейнеров, которая позволяет использовать кадр скорость, чтобы активно изменяться во время воспроизведения видео, или полностью отказаться от идеи частоты кадров и установить индивидуальный временной код для каждого кадра.

Итак, я понимаю эту концепцию. Но это вызывает множество вопросов, и большинство информационных блокнотов являются заглушками:

  1. Все ли десятичные fps vfr; может ли целочисленный fps быть vfr? Или это зависит от того, как было сделано видео, например, когда вы записываете свой экран с помощью OBS и устанавливаете частоту кадров в секунду на 30, но получаете десятичное число 29,777? Действительно ли vfr существует только в реальном записанном видео, но в 3d/2d анимации не было бы vfr? Я не понимаю, какое отношение десятичное число имеет к определению, любое целочисленное значение также может соответствовать ему. Я знаю, что вы можете использовать -vfrdet в ffmpeg, чтобы определить, является ли что-то vfr... но если все vfr десятичные, то в чем смысл, почему бы просто не проверить кадров в секунду вместо этого.

  2. Если вы перекодируете видео vfr с той же частотой кадров в секунду, сохранится ли на выходе та же скорость и количество кадров или произойдет какая-то потеря данных (за пределами потери качества кодека), которая отличается от постоянной частоты кадров в секунду? Показывает ли воспроизведение видео vfr ВСЕ кадры или оно имеет тенденцию пропускать кадры (предположим, что оборудование работает идеально)?

  3. Почему видеоредакторы "не все" поддерживают нецелочисленные значения кадров в секунду? Я имею в виду все, что я могу выразить как дробь целых чисел, должна быть доступна в качестве параметра ввода кадров в секунду imo... в противном случае это лишает смысла "редактирование видео". В чем именно заключается обоснование того, что эти предполагаемые полностью загруженные видеоредакторы ограничивают вас только 5 предустановленными кадрами в секунду, т. Е. (30/60/24/23.97/25). Я еще больше запутался, потому что некоторые видеоредакторы, хотя и говорят, что поддерживают 60 кадров в секунду, поддерживают только редактирование временной шкалы 60 кадров в секунду... и значение fps поддержки вывода указано (до того, как вы даже экспортируете!) как 59,94, и я вижу ОФИЦИАЛЬНЫЕ обучающие видеоролики говоря мне и всем остальным, что 59,94 - это то же самое, что 60. Я не уверен, связано ли это с ПВП или с чем-то еще.

  4. Является ли значение fps для vfr просто средним значением fps для всего видео? Или это какой-то более продвинутый способ усреднения/вычисления? Какова вообще роль наличия единственного числа "средних" кадров в секунду в видео vfr? В определении говорится, что видео не зависит ни от одного fps...is существует какой-то специальный пакет данных, который сообщает видеоплееру о воспроизведении видео определенным образом, чтобы некоторые части были быстрее/медленнее в желаемом режиме? Не может ли vfr технически означать, что начало видео воспроизводится со скоростью 60 кадров в секунду, а последние 10 секунд - со скоростью 5 кадров в секунду? Как бы видеоплеер узнал, что нужно воспроизводить начало со скоростью 60 кадров в секунду... и конец со скоростью 5 кадров в секунду... если у него есть только 1 номер для выключения.