YouTube 转用 HTML5 视频播放器

  • David Iffland
  • 丛一

2015 年 2 月 1 日

话题:JavaScriptHTML5语言 & 开发

YouTube 在 2010 年 1 月启动了实验性的HTML5 视频播放器。在经过五年与其他浏览器供应商和社区的合作以后,该公司宣布废弃原有的 Adobe Flash 视频播放器,将 HTML5 视频作为某些特定浏览器的默认播放方式。

在一篇博文中,YouTube 工程经理 Richard Leider 表示自适应比特率(ABR)技术的支持是他们作出这一决定的关键因素:

自适应比特率(ABR)流是为观看视频的用户提供高质量视频体验的关键。它让我们在面对不断变化的网络条件时,可以快速无缝地调整分辨率和比特率。

有争议的 ABR 是基于 HTTP 的动态自适应流,也就是 MPEG-DASH。据微软开放技术的 Ross Gardler 所说,MPEG-DASH降低了缓冲的需求

利用 MPEG-DASH,当出现网络拥塞时,视频流会降低到一个较低的清晰度。当播放器下载接下来几秒将要播放的画面(也就是缓冲)时,这降低了让视频观看者看到一个“暂停”的视频的可能性。当网络拥塞减少时,视频播放器将随之恢复到一个较高质量的播放流。

Leider 声称,实际上“总体来说 ABR 降低缓冲的水平已经超过 50%,在拥塞严重的网络情况下,最多能降低 80%。在2014 年的一次采访中,Leider 谈到“YouTube 的重放功能在电视、游戏机、机顶盒、Chromecast、桌面浏览器、移动网络 [和] 移动手持设备上都使用了 DASH 技术。”

只有支持W3C 媒体源扩展(MSE)的浏览器才能使用 MPEG-DASH 重放,这就是为什么 YouTube HTML5 播放器转换仅限于 Chrome,IE 11,Safari 8 和 Firefox 的一些 Beta 版本。据 MSE 规格说明书记载,MSE“允许 JavaScript 动态创建【视频】和【音频】多媒体流,它定义了可以让 JavaScript 传递多媒体片段的对象。”通过dash.js的参考实现,Web 开发者可以自行创建启用 DASH 的视频播放器。

其他的视频提供商在 HTML5 支持方面各自处于不同的阶段。Vimeo 在 2014 年 1 月转换至默认 HTML5 播放器而 Netflix 则在 IE11 和 Yosemite 上的 Safari 中采用 HTML5 视频播放器。其他的提供商,如 BBC,则仅在不能使用 Flash 的平台,如苹果的 iOS 平台,实现了 HTML5 视频

目前为止,只要浏览器支持,YouTube 都会让用户选择使用 HTML5 播放器。现在,用户使用兼容的浏览器访问该页面时,都会看到“在可能的情况下,会使用 HTML5 播放器。”这一变化会大幅减少基于 Flash 的播放器的使用时间,让 Flash 变得越来越无关紧要。

YouTube 推荐开发者在内嵌视频时使用<iframe> API

查看英文原文:YouTube Switches to HTML5 Video Player

JavaScriptHTML5语言 & 开发