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