Video.js 4.0 现已推出!
今天我们。我们发布了 Video.js 4.0,这是迄今为止最稳定、最轻量、也敢说是最美观的版本。它。可供下载,也可在 GitHub 上获取,并免费托管在我们的 CDN 上。
4.0 版获得了前所未有的社区协作,这体现了 JavaScript 社区日益壮大、HTML5 视频日益普及以及 Video.js 使用量不断增加的趋势。过去一年中,使用 Video.js 的网站数量翻了一倍多,仅 CDN 托管版本每月就有超过 2 亿次点击!感谢所有 Video.js 社区成员的代码贡献和 Bug 报告。
该版本也是一个里程碑,因为它。是自去年 Brightcove 收购 Zencoder 以来发布的第一个版本。对于那些错过此公告的人来说,这对 Video.js 来说是一件非常好的事情。过去,Video.js 是 Zencoder 的一个副项目,我在完成日常工作的同时对其进行维护(仿佛创业生活还不够。刺激)。收购后,Brightcove 不仅让我全职投入 Video.js 项目,Brightcove 视频播放器团队也成为了该项目的贡献者。Brightcove 团队可能是世界上最有经验的视频播放器团队,为最大的品牌提供最先进的视频技术支持,覆盖所有设备。我。们很荣幸能与他们合作,并且他们。对此版本做出了重大贡献。
4.0 主要功能摘要
通过在高级模式下使用 Google Closure Compiler 减少 18% 的代码大小,提升了性能。
- 通过使用 TravisCI、Bunyip 和 Browserstack 的自动化跨浏览器/设备测试套件,提高了稳定性。
- 新增插件接口和插件列表,用于扩展 Video.js
- 全新默认皮肤设计,使用字体图标,实现更强的自定义性
- 响应式设计和 Retina 显示支持
- 通过更好的 ARIA 支持提升了可访问性
- 迁移至 Apache 2.0 许可证
- 100% JavaScript 开发工具集,包括 Grunt
性能提升
在 4.0 版本中,性能是我们的首要任务,而影响性能的一个主要因素是加载库所需的时间。即使是看似微小的体积缩减,也能产生巨大影响,尤其是当一个库每月在全球范围内被加载数百万次时。我们选择使用 Google 的 Closure Compiler,因为其“高级模式”目前提供了最激进的代码压缩选项,到目前为止,我们已经看到代码体积减少了 18%,未来还有进一步缩减的潜力。
Closure Compiler 还声称可以重写代码以提升运行时性能,不过我们尚未有机会对此进行基准测试。
一些初步的加载时间基准测试*显示:
- 播放器加载时间在 50 毫秒以下
- 播放开始时间在 150 毫秒以下
- 实际视频播放时间在 0.5 秒以下(使用 CDN 托管的 MP4)
*初步测试是在连接 Wi-Fi 的现代 MacBook Pro 上使用空缓存的 Chrome 浏览器进行的。更正式的测试将陆续进行。
更强的稳定性
自动化跨浏览器、跨设备测试是 JavaScript 库测试的“圣杯”。在构建 4.0 版本时,我们通过使用多种工具实现了这一目标,包括:
- TravisCI - 在每次向 Video.js 源代码提交的拉取请求上,通过 PhantomJS 自动运行单元测试
- Bunyip + Browserstack - 允许我们在云托管实例中对从 IE6 到最新 Chrome 的任何浏览器,以及各种 iOS 和 Android 设备进行测试。
这种在新版本发布前轻松地在不同环境中运行测试的能力,将为我们提供更多防止回归的保护,并能实现更快的特性发布周期。
全新插件接口
全新的 插件 API 使开发者能更轻松地为 Video.js 添加自定义功能。该 API 的工作方式类似于 jQuery 插件接口,允许开发者添加或覆盖 Video.js 的任何部分。插件创建后,可以在 Wiki 上的 Video.js 插件列表页面分享。
全新默认皮肤
在 Brightcove 用户体验团队的帮助下,我们创建了一个新的默认皮肤,它更简洁、更精致、更具自定义性。最有趣的特性之一是,我们已从使用图像作为图标改为使用字体图标。字体图标的使用允许您通过简单地更改 CSS 值来改变图标的颜色和大小。您可以在 Video.js 主页上看到示例。
提升可访问性
Greg Kraus,一位来自 NCSU.edu 的 Video.js 社区成员,在通过更好地使用 ARIA 角色来测试和改进 Video.js 可访问性方面做了大量工作。这些改动使得仅使用键盘的用户、屏幕阅读器用户和语音交互用户都能够与视频播放器进行交互。更新:详情请阅读 Greg 的博客文章。
迁移至 Apache 2.0 许可证
Video.js 的早期版本是在 LGPLv3 许可证下发布的。LGPL 常常与其更严格的同类 GPL 混淆,GPL 要求所有与该软件相关的代码也必须开源。Video.js 旨在开放并免费用于所有场景,我们希望这一点明确无误,因此 4.0 版本现在已在 Apache 2.0 许可证下发布,这与 Twitter Bootstrap 使用的许可证相同。
100% JavaScript 工具集
之前,Video.js 使用 Ruby 进行开发工具,包括用于部署任务的 Rake 和基于 gitflow 构建的内部 Zencoder 工具 zenflow,用于开发流程工作流。随着 4.0 版本,我们已将任务迁移到 Grunt,并且正在 Node.js 中构建一个类似于 zenflow 的工具。
Videojs.com 现已开源
作为本次发布的一部分,我们还将 Videojs.com 网站开源。因此,如果您发现需要添加或修复的内容,请派生(fork)它。
接下来呢?
即使有上述所有更新,这仅仅是 Video.js 激动人心的一年的起点。我们将继续通过插件和皮肤改进性能、多平台稳定性及自定义性。社区成员已经开始为一些更受欢迎的功能开发插件,如播放列表、分析和广告。
关注 @videojs 或订阅我们的 新闻简报,以获取新功能和路线图更新。
如果您想参与该项目,请查阅我们的 贡献指南。
此致,
-heff