2011-08-24 10 views
9

Obecnie próbuję dostosować odtwarzacz filmów HTML5, aby móc dodać przycisk, który zwraca bieżący numer klatki.Czy mogę uzyskać numer bieżącej klatki w wideo HTML5?

Powiedzmy, że mam film 30 klatek na sekundę, który trwa 90 sekund. Kiedy klikam ten przycisk, chcę, żeby wydrukował mi numer bieżącej ramki. Czy to jest możliwe?

Odpowiedz

1

Nie sądzę, że istnieje ustawiona standardowa liczba klatek na sekundę w przeglądarkach lub jakikolwiek sposób uzyskiwania dostępu do obecnej klatki po wyjęciu z pudełka za pomocą wideo html5. Możesz jednak użyć standardowej szybkości transmisji 29,97 klatek na sekundę i po prostu pomnożyć ją przez bieżący czas wideo: (vid.currentTime * 29.97).toPrecision(6).

Oto skrzypce skonfigurować demonstrując jak powiązać to do przycisku, aby uzyskać bieżącej ramki: http://jsfiddle.net/893aM/1/

+1

Chociaż jest to stara odpowiedź, proszę zauważyć, że „standard telewizyjny” to nie to samo w Stanach Zjednoczonych, jak w pozostałej części świata. Większość internetowych filmów wideo jest zakodowana i sfilmowana @ 25FPS. – WesleyE

+0

'.currentTime' nie jest na tyle dokładny, aby przejść do poziomu na jedną klatkę. – Brad

3

myślę, że można użyć następującego API dla Webkit/przeglądarka Mozilla oparta:

Mozilla zaimplementowałem następujące statystyki w Firefoksie:

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 pracuje również nad niektórymi statystykami wymienionymi tutaj.

Webkit wdrożyły te:

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. 

ja nadal bada uchwałę o IE9 ...

referencyjny: http: //wiki.whatwg.org/wiki/Video_Metrics