在html5中的视频元数据中fps保存了哪些?

时间:2016-02-16 01:08:37

标签: javascript html html5-video frame-rate

为了完全实现我的自定义html5视频播放器,我需要视频的确切帧速率。但是我还没有找到它并使用标准值25。 通常,视频在元数据中具有帧速率值,因此我使用以下内容访问元数据:

var vid = document.getElementById("myVideo");
vid.onloadedmetadata = function(e) {
console.log(e);
};

但是我无法在这里找到帧速率。也许我根本不读元数据。 我可以用你的帮助。 谢谢!

3 个答案:

答案 0 :(得分:1)

我95%肯定标准的html5视频api没有公开fps信息,这是我过去几个月所读到的 - 其他api如 MPEG-DASH jwplayer 确实提供更多/不同的数据。

你最好的选择是窥探w3schools.com/tags/ref_av_dom.asp和类似的mdn页面。

你可以自己实时计算这个,它应该在大部分时间都能正常工作,但我可以想象,如果不这样的话会有一两个案例。查看Rate rate = (Rate)table.getModel().getValueAt(row, col); switch (rate.getRateSource()) { case EMPTY: // set some color break; case EDITED: // set some color break; default: // not edited, set some color } ,然后执行以下操作:

PresentedFrames

查看有关PresentedFrames here(当前提案)的更多信息以及相同link的相似属性。

答案 1 :(得分:0)

尝试https://mediainfo.js.orggithub

它仅适用于ui,不需要后端

我刚刚实现了它,它看起来很完美(至少在Chrome v 70.0.3538.77中)可以获取广泛的媒体信息

现代浏览器似乎开始使用某些二进制库

答案 2 :(得分:0)

mediainfo.js的效果很好-即使在使用'http(s)://'的浏览器中本地使用。

要在本地使用它,只需确保,您还下载了随附的mediainfo.wasm,并将其放入与mediainfo.min.js相同的目录。 / p>

或者,您也可以使用npm安装media-info。

唯一的警告是,它不是从'file://'协议运行的。