Video.js 博客

加勒特·辛格2018-11-08

Video.js HTTP 流媒体 (VHS) 介绍

“如何让我的视频在 Video.js 中播放?”

这是我们在使用 Video.js 时最常遇到的问题之一。而且这是一个很好的问题。

如果有人下载 Video.js,他们的内容可能在一个浏览器上播放,而在另一个浏览器上不播放。为了让特定类型的内容获得跨浏览器支持,他们必须找到一个相关的源处理程序(例如,用于 HLS 内容的 videojs-contrib-hls)。只有在包含源处理程序后,他们的视频才能在所有主流浏览器中播放。

我们希望 Video.js 易于使用,但目前的设置并不简单。因此,我们决定是时候解决这个问题了。

这就是将 Video.js HTTP 流媒体(昵称 VHS)默认集成到 Video.js 7 中的原因。

什么是 VHS?

VHS logoVHS 标志

VHS 是 videojs-contrib-hls 的继任者。它是一个从 videojs-contrib-hls 仓库分支出来的源处理程序。虽然 videojs-contrib-hls 最初旨在为所有浏览器添加 HLS 播放支持,但我们意识到该引擎也能很好地播放其他格式。

为了证明这一点,我们添加了一个 DASH 清单解析器,并稍作修改,VHS 就能够使用与 HLS 相同的代码库和 API 播放 DASH 内容。

即使视频技术格局不断变化,Video.js 也将做好准备。如果一种新的流媒体格式流行起来,只需少量代码更改即可为 VHS 添加支持。一个引擎和 API 支持所有格式。

为什么 Video.js 默认包含 VHS?

通过在 Video.js 中默认包含 VHS,您不再需要担心哪个浏览器支持哪种流媒体技术。

Video.js 旨在抽象化网络浏览器之间视频 API 和功能的差异,创建一个尽可能接近网络标准的简单 API,并在可能的情况下填补功能空白。随着时间的推移,浏览器在对不同媒体格式的支持方面出现了分歧。一些浏览器可能支持 DASH 的原生播放,另一些支持 HLS,还有一些则两者都不支持。

以前,这需要通过包含源处理程序和插件来管理,但我们理解拥有简单设置的重要性。通过在 Video.js 中默认包含 VHS,您不再需要担心哪个浏览器支持哪种流媒体技术。它应该可以直接工作。

如果我选择不使用 VHS 怎么办?

如果您希望为 HLS 或 DASH 播放包含不同的源处理程序,Video.js 仍然允许您这样做。Video.js 核心 是您熟悉和喜爱的 Video.js,不包含 VHS。一切都应该像以前一样工作。

欢迎贡献和反馈

一如既往,我们欢迎您的贡献和反馈。联系我们进行评论、提问、请求、贡献或只是打个招呼的最佳方式是访问 VHS GitHub 页面Video.js Slack 上的 #playback 频道。