为什么Facebook要将视频从Flash全面迁移到HTML5?

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 英文原文:Why we chose to move to HTML5 video 编者按:Facebook 前端高级工程师 Daniel Baulig 解释了 Facebook 为什么要将视频全面迁移到 HTML5,包括这样做的好处,带来的挑战和解决办法。 最近,我们将 Facebook 网络中的所有视频全部从 Adobe Flash 迁移到了 HTML5。我们将继续与 Adobe

英文原文:Why we chose to move to HTML5 video

编者按:Facebook 前端高级工程师 Daniel Baulig 解释了 Facebook 为什么要将视频全面迁移到 HTML5,包括这样做的好处,带来的挑战和解决办法。

最近,我们将 Facebook 网络中的所有视频全部从 Adobe Flash 迁移到了 HTML5。我们将继续与 Adobe 合作,为我们平台上的游戏提供一个可靠、安全的 Flash 体验,但我们会在所有的浏览器中默认使用 HTML5 技术播放视频。

从开发速度到易访问性,HTML5 提供了很众多好处。Facebook 体系庞大,需求复杂,迁移到 HTML5 能让我们更好地去提升创新的速度和规模。

  HTML5 的优点

  开发速度


使用 Web 技术使我们能够利用开源社区和 Facebook 中已有的优秀浏览器工具,不必重新编译代码,并能够在浏览器直接应用变化,从而让我们得以快速行动。

  可测性

我们在 Facebook 有一个优秀的测试基础设施。迁移到 HTML5 视频后,我们可以自由地使用自己基础设施里所有的 web 工具,比如 Jest 和 Webdriver。

  易访问性

HTML5 使我们能够建立一个完全支持屏幕阅读器和键盘输入访问的播放器。我们可以利用 HTML5 提供的辅助工具让视力障碍人士更容易地使用我们的产品。让所有人都能用上 Facebook 是我们使命(让世界更加开放和互联)中的一个重要组成部分。


 我们必须应对的挑战

  获得正确的日志


视频日志有助于我们了解人们如何使用视频播放器以及播放器的工作情况。我们会向公众分享一些数据,例如视频观看次数和视频发布者,而我们会使用其他的一些数据来确定应该将多少以及哪些视频展现给人们。我们必须确保在同一场景中,新的视频播放器记录的数据和老的播放器记录的数据一致。由于配置差异和其他的一些细节,要做到这一点异常的困难。为确保日志数据的正确性,我们创建了一个测试套件,在相同的用户交互场景下,同时运行两个视频播放器,然后验证日志记录是否一致。这样,我们才能确保新的 HTML5 视频播放器的报告数据会有一个很高的可信度。

  浏览器 bug

在将视频转移到 HTML5 技术之前,我们要解决的一个主要问题是各种浏览器中存在的各种关于 HTML5 视频的 bug。在 Chrome 中使用 SPDY 协议的一个具体 bug 会导致浏览器在 News Feed 上停止加载和播放视频。我们最终确定了这个问题是由于同时加载了太多的视频触发的,所以我们减少了视频同时加载的数量,并确保如果加载的视频不再需要时我们会尽快将它们删除。

    在旧浏览器上的糟糕表现

从理论上讲,现在使用的大多数浏览器都支持 HTML5 视频。然而,在实践中我们发现了很多老版本浏览器上使用 HTML5 播放器时会比使用 Flash 播放器表现更差。此外,我们还看到其他的一些错误,比如更长的加载时间和整体上更糟的体验。因此我们决定首先只在一小部分浏览器上推出 HTML5 播放器,然后一旦我们提升了性能并修复了小 bug,我们会逐渐推向更多的浏览器版本和操作系统。这就是为什么我们一直等到最近才在所有的浏览器中(除了很小的一部分)将视频播放技术默认切换到 HTML5。

  页面加载时间变长

我们在推出 HTML5 播放器时面临的最后一个主要问题是,加载 Facebook 的时间变长了。在 Facebook,我们十分关心我们提供给人们的体验。用户需要多久加载 Facebook 是我们衡量用户体验的一个重要因素。当我们发布了 HTML5 播放器后,我们注意到,用户平均加载 Facebook 所花费的时间有所增加。通过修复几个小的性能问题,并进行了多项细微的优化,我们终于看到了一个让我们感到高兴的水平。

  对指标和用户体验的影响

使用 HTML5 视频技术不仅简化了我们开发过程,同时也提高了人们在 Facebook 上的视频体验。切换到 HTML5 后,视频的播放速度更快了,人们点赞、评论和分享视频的数量更多了,并且用户报告的错误更少了。我们做出这项调整后,人们似乎开始在视频上花费更多的时间。

视频是你与周围的世界进行互联的一个精彩渠道,而我们很高兴地看到我们在使用 HTML5 技术后,能使 Facebook 的视频体验变得更好。

本文由WeX5君整理,WeX5一款开源免费的html5开发工具H5 App开发就用WeX5!

阅读其他app 开发相关文章:http://wex5.com/cn/?p=3443

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
Web App开发 数据采集 移动开发
提升Selenium在Chrome上的HTML5视频捕获效果的五个方法
在Selenium中优化Chrome的HTML5视频捕获涉及更新Chrome和ChromeDriver、配置浏览器选项、使用代理IP、调整加载策略及确保安装了正确编解码器。例如,更新驱动程序,添加如`--autoplay-policy`和`--proxy-server`的命令行参数,使用代理以防止被封,设置页面加载策略为'eager',并安装必要的编解码器来确保视频播放。代码示例展示了如何集成这些优化措施。
提升Selenium在Chrome上的HTML5视频捕获效果的五个方法
|
30天前
矢泽妮可二次元html视频动态引导页源码
矢泽妮可二次元html视频动态引导页源码 源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
25 0
|
2月前
|
Web App开发 存储 JavaScript
HTML一个简单的视频提速写法构思
HTML一个简单的视频提速写法构思
|
2月前
|
Web App开发 移动开发 HTML5
文本,兼容性-----HTML5新增音频和视频标签
文本,兼容性-----HTML5新增音频和视频标签
|
4月前
|
移动开发 前端开发 JavaScript
如何实时准确地从HTML5视频中截取当前播放画面
如何实时准确地从HTML5视频中截取当前播放画面
360 4
|
4月前
|
移动开发 搜索推荐 JavaScript
【专栏:HTML 进阶篇】HTML5 新特性探索:视频、音频与画布
【4月更文挑战第30天】HTML5的视频、音频和画布元素为网页开发注入新活力。视频和音频元素提供跨平台兼容的播放体验,支持自适应和交互控制;画布则允许动态图形和动画创作。在线视频网站、音乐播放器和游戏开发广泛应用这些特性。尽管面临版权和性能挑战,HTML5持续发展,为网页创新带来更多可能。拥抱这些新特性,创造更丰富的网页世界!
61 0
|
移动开发 HTML5
在HTML5中 视频标签 和音频标签的介绍
在HTML5中 视频标签 和音频标签的介绍
168 0
|
移动开发 定位技术 API
HTML5 —— 拖放、地理位置、视频和音频的基本使用
HTML5 —— 拖放、地理位置、视频和音频的基本使用
104 0
|
移动开发 HTML5
一文搞懂HTML5标签新特性【视频、音频、语义】
一文搞懂HTML5标签新特性【视频、音频、语义】
127 0
一文搞懂HTML5标签新特性【视频、音频、语义】