浏览器如何计算HTML5 <video>的帧速率(fps)以获得准确的寻帧效果?</video>

时间:2011-02-12 23:55:08

标签: html5 video google-chrome ffmpeg html5-video

所有浏览器目前都实施HTML5 <video&gt;寻帧API作为时间划分。 例如在10fps的视频中,帧#10 time=1.0秒。因此,如果您希望能够准确地进行帧搜索,向前推进一帧,则需要转到time=1.1秒。通过了解视频的帧速率(fps)来完成这种帧到时间的计算。

但是,我不知道浏览器如何计算帧速率。

他们要么读取视频文件的某些fps属性的容器信息,要么自行计算。

通过使用FFmpeg,您可以通过返回FFmpeg -i video.avi的{​​{1}}获取该内容,然后您可以在那里看到Stream #0.0: Video: libvpx, yuv420p, 512x288, PAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 25 tbc

问题是:这准确吗?如果没有,是否有准确的计算方法?我只是想模仿浏览器,以便我可以准确地进行帧搜索。

1 个答案:

答案 0 :(得分:7)

视频的帧速率不是计算,它存储为视频元数据的一部分。视频标题中只有一个字段表示每秒有多少帧(或者每帧显示的时间量)。这与浏览器知道视频分辨率的方式相同。