Могу ли я получить номер текущего кадра в видео HTML5? - PullRequest
9 голосов
/ 24 августа 2011

В настоящее время я пытаюсь настроить видеоплеер HTML5, чтобы добавить кнопку, возвращающую текущий номер кадра.

Допустим, у меня есть видео 30 кадров в секунду, которое длится 90 секунд. Когда я нажимаю на эту кнопку, я хочу, чтобы она напечатала номер текущего кадра. Это возможно?

Ответы [ 3 ]

2 голосов
/ 08 мая 2012

Я думаю, вы можете использовать следующий API для браузера на основе Webkit / Mozilla:

Mozilla внедрила следующую статистику в Firefox:

mozParsedFrames - number of frames that have been demuxed and extracted out of the media.
mozDecodedFrames - number of frames that have been decoded - converted into YCbCr.
mozPresentedFrames - number of frames that have been presented to the rendering pipeline for rendering - were "set as the current image".
mozPaintedFrames - number of frames which were presented to the rendering pipeline and ended up being painted on the screen. Note that if the video is not on screen (e.g. in another tab or scrolled off screen), this counter will not increase.
mozFrameDelay - the time delay between presenting the last frame and it being painted on screen (approximately). 

Mozilla также работает над некоторыми из перечисленных здесь статистических данных.

Webkit реализовал это:

webkitAudioBytesDecoded - number of audio bytes that have been decoded.
webkitVideoBytesDecoded - number of video bytes that have been decoded.
webkitDecodedFrames - number of frames that have been demuxed and extracted out of the media.
webkitDroppedFrames - number of frames that were decoded but not displayed due to performance issues. 

Я все еще исследую разрешение на IE9 ...

Справка: http://wiki.whatwg.org/wiki/Video_Metrics

2 голосов
/ 24 августа 2011

Я не думаю, что есть установленная стандартная частота кадров в браузерах или какой-либо способ доступа к текущему кадру из коробки с видео html5. Однако вы могли бы использовать стандартную частоту кадров телевидения 29,97 кадров в секунду и просто умножить ее на текущее время видео следующим образом: (vid.currentTime * 29.97).toPrecision(6).

Вот скрипка, которую я настроил, демонстрирующая, как привязать это к кнопке, чтобы получить текущий кадр: http://jsfiddle.net/893aM/1/

1 голос
/ 09 февраля 2015

Есть приличная библиотека Video Frame JS для работы с фреймами https://github.com/X3TechnologyGroup/VideoFrame

Это очень старый вопрос, но он может быть полезен для новых читателей.

Ссылка: Получить номера кадров в видео HTML5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...