【问题标题】:Different currentTime for same video on different browsers不同浏览器上相同视频的不同 currentTime
【发布时间】:2018-03-21 02:59:53
【问题描述】:
我想在视频结束时获取视频的currentTime。但是对于不同的浏览器,对于同一个视频,currentTime在小数点后第三位或第四位后返回不同的值。例如。对于我正在测试的长度为 30 秒的特定视频,视频结束时的 currentTime 值在 Chrome 和 Firefox 中返回 30.069841。但是对于同一个视频,它在 IE edge 和 Safari 中返回 30.0683333。为什么有区别?有什么方法可以让我在所有浏览器中获得独特的价值?
提前谢谢你。
【问题讨论】:
标签:
javascript
html5-video
【解决方案1】:
如果您的帧速率不能表示为有限十进制数(或精确表示为浮点数),值 30.0683333 看起来像,则可能由浏览器决定如何表示他们。视频的帧率是多少?有没有可能是30fps?您可以将其转码为例如25fps 然后检查。如果视频有音轨,那么音频时间尺度也可以发挥作用。您可以使用 ffmpeg 以小数形式转储视频帧的实际时间戳,然后查看最后一帧的时间戳,您可以尝试了解十进制值是多少。但您应该提供有关视频时间尺度以及是否有音轨的更多信息。