HTML5 视频 - 最大播放速率是多少?

HTML5 Video - what is the maximum playback rate?

您可以设置 HTML5 视频元素的播放速率:

var player = document.getElementById("video");
player.playbackRate = 100;

w3 规范没有定义限制。 Chrome 和 Firefox 中 <video> 元素的最大播放速率是多少?如果播放速率不依赖于浏览器,那么是由什么决定的?

研究:

MDN HTML Media Element 表示某些浏览器将停止播放超出 0.25x - 4x 播放范围的音频。没有说视频元素是否会继续播放视频。

YouTube 的播放器支持 0.25x - 2x 之间的速度。这是一个 Flash 播放器,不是 HTML5 视频元素,我对此不感兴趣。

就个人而言,我已经在我的计算机上本地创建了一个测试页面,其中包含一个 <video> 元素和一个本地视频文件。我可以将播放速率设置为任何值(例如 100),但视频播放速度似乎不会超过 ~5 倍。我实际上无法检查播放速度,因为它只是 returns 我设置的值“100”。

技术上应该没有限制。

但是30秒长的视频连一秒钟都播放不了,原因何在?

Most browsers stop playing audio outside playbackRate bounds of 0.5 and 4, leaving the video playing silently. It's therefore recommended for most applications that you limit the range to between 0.5 and 4.

来自 Mozilla 开发者网络。 可能这就是为什么您的视频播放率没有高于 5(可能是 4)的原因。

编辑:

可以找到播放速率演示应用程序 here

它显示播放速率最高为 10(但没有声音)。

更新

The playbackRate property represents a multiplier of the video's intrinsic or normal playback rate, with the default setting of 1. If you set the property to 2, it doubles the playback speed, while .5 will play at half speed. If playbackRate is set to a negative value, in Windows Internet Explorer 9, it rounds it back to zero, essentially pausing playback. In Internet Explorer 10, negative values for playbackRate cause the video to play in reverse. The W3C spec doesn't recommend an upper limit, but Internet Explorer limits playbackRate up to 8x speed.

来源:https://msdn.microsoft.com/library/hh924823(v=vs.85).aspx

这也取决于您的处理器的能力。更高的处理器速度将为您提供更高的播放限制。

更新于 2021 年 7 月 8 日以反映浏览器行为的最新变化

Firefox:

根据源代码,Firefox 应将有效播放速率限制在 0.0625 - 16.0 范围内。在我的测试中,它不再遵循这一点并且根本不会限制播放速率。但是,如果播放速率低于 0.5,或高于 4.0

,它仍然会静音

Source - Firefox 源代码位于 dom/html/HTMLMediaElement.cpp

Chrome:

Chrome 将播放速率限制在 0.0625 - 16.0 的范围内。在我的测试中,如果速率低于 0.5 或高于 4.0.

,它也会使音频静音

Source - third_party/blink/renderer/core/html/media/html_media_element.h

处的 Chromium 源代码

最低速度:0.0625x

最大速度:16x

来源:Google Chrome 和

的试错
document.getElementsByTagName("video")[0].playbackRate = 2.5;