Как браузеры рассчитывают частоту кадров (fps) для HTML5 <video>для точного поиска кадров? - PullRequest
5 голосов
/ 13 февраля 2011

Все браузеры в настоящее время используют HTML5 <video> API поиска кадров в качестве временного разделения. например В видео со скоростью 10 кадров в секунду Кадр # 10 равен time=1.0 секундам.Таким образом, если вы хотите иметь возможность точного поиска кадров, , то есть , продвиньтесь на один кадр вперед, вам нужно перейти к time=1.1 секундам.Это вычисление по кадрам выполняется с учетом частоты кадров видео (fps).

Однако я не знаю, как браузеры рассчитывают частоту кадров.

Они либо читаютИнформация о контейнере видеофайла для некоторого свойства fps, или рассчитать его самостоятельно.

Используя FFmpeg, вы можете получить это FFmpeg -i video.avi, что возвращает Stream #0.0: Video: libvpx, yuv420p, 512x288, PAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 25 tbc, и вы можете увидеть fpsтам.

Вопрос: это точно?Если нет, есть ли точный способ расчета этого?Я просто хочу имитировать браузеры, чтобы точно выполнять поиск кадров.

1 Ответ

7 голосов
/ 13 февраля 2011

Частота кадров видео не рассчитана , она хранится как часть метаданных видео. В заголовке видео есть поле, в котором указано, сколько кадров в секунду (или, возможно, сколько времени показывается каждый кадр). Браузер точно так же знает разрешение видео.

...