编辑更新:目前,我们不得不将 Firefox 中的 AV1 实现放在 Mozilla 偏好设置 (pref) 后面。我们目前正在努力解决 一个问题,这将使我们能够默认情况下为所有人开启 AV1。在此期间,您仍然可以尝试本文中链接的演示。您需要在 Firefox Nightly 中打开about:config
并手动将设置media.av1.enabled
切换为 true。
Bitmovin 和 Mozilla 合作实现 HTML5 AV1 播放
Bitmovin 和 Mozilla 都是 开放媒体联盟 (AOM) 的成员,正在合作将 HTML5 的 AV1 播放引入 Firefox,使其成为第一个播放 AV1 MPEG-DASH/HLS 流的浏览器。虽然 AV1 比特流仍在最终确定中,但该行业正在为快速采用这种新的编解码器做准备,该编解码器有望比 VP9 和 H.265/HEVC 效率高出 25-35%。
AV1 比特流预计将在 2018 年初最终确定。您可能会问——“如何在一个尚未最终确定的比特流上实现播放?”。的确,这是一个好问题,因为在当前的开发阶段,比特流中仍然存在许多可能会发生变化的内容。但是,为了实现播放,我们只需要确保编码器和解码器使用相同版本的比特流即可。Bitmovin 和 Mozilla 同意使用一个简单但目前有用的编解码器字符串,以确保 Bitmovin AV1 编码器中的比特流版本和 Mozilla Firefox 中的 AV1 解码器之间的兼容性。
"av1.experimental.<git hash>"
已经准备了一个测试页面,用于演示由 Bitmovin 编码器编码的 AV1 的 MPEG-DASH 测试资产的播放,并使用 Firefox Nightly 浏览器中的 Bitmovin HTML5 播放器 (7.3.0-b7) 进行播放。

访问演示页面:https://demo.bitmovin.com/public/firefox/av1/。您可以从 此处下载 Firefox Nightly 以进行查看。
Bitmovin AV1 端到端
Bitmovin AV1 编码器基于 AOM 规范,并在 Bitmovin 的云原生架构上进行扩展,以实现更快的吞吐量。今年早些时候,该团队写了一篇关于 世界上第一个广播级 AV1 直播 的文章,该直播在 2017 年的 NAB 大会上进行了演示,并为该公司带来了 2017 年 NAB 最佳奖 。
当前版本的 AV1 编码器距离在没有对代码库进行广泛调整的情况下实现合理的编码时间还有很长的路要走:例如,在一个现成的台式机上,编码一秒钟的视频大约需要 150 秒。因此,Bitmovin 能够在合理的时间内提供高质量的完整 ABR 测试资产(多个质量和分辨率)对于测试 Firefox 中 AV1 的 MPEG-DASH/HLS 播放非常有用。(AV1 的 HLS 播放尚未获得 Apple 的正式支持,但从技术上讲当然是可能的。)快速的编码吞吐量得益于 Bitmovin 的灵活云原生架构,该架构允许将单个 VoD 资产大规模横向扩展到多个节点,如下图所示。可扩展架构的另一个好处是,质量不需要为了速度而妥协,这在典型的编码设置中通常是这种情况。

Bitmovin 提供的测试资产是经过分段的 WebM 输出,可以与 HLS 和 MPEG-DASH 一起使用。对于演示页面,我们决定使用 MPEG-DASH 并将资产编码到以下质量级别
- 100 kbps,480×200
- 200 kbps,640×266
- 500 kbps,1280×532
- 800 kbps,1280×532
- 1 Mbps,1920×800
- 2 Mbps,1920×800
- 3 Mbps,1920×800
我们使用了 免版税的 Opus 音频编解码器,并以 32 kbps 进行编码,这可以提供质量合理的音频流。
Mozilla Firefox
Firefox 在音频和视频的开放压缩技术方面有着悠久的历史。我们在 HTML5 视频的初始实现中 十年前 添加了对免版税的 Theora 视频编解码器的支持。 WebM 的支持 几年后 紧随其后。最近,我们是第一个支持流行的 MP4 容器中的 VP9、Opus 和 FLAC 的浏览器。
继 Opus 音频编解码器取得成功之后,我们的研究部门一直在大力投资下一代免版税的视频编解码器。Mozilla 的 Daala 项目一直是新想法的试验场,以一种全新的方式处理视频压缩。我们一直在将这些想法贡献给 IETF 和 开放媒体联盟 的 AV1 编解码器。
AV1 是一种新的视频压缩标准,由许多贡献者通过 IETF 标准化流程开发。这种合作是 Opus 取得成功的因素之一,来自多个组织的贡献和开放的工程讨论产生了优于其各部分之和的设计。
虽然 Opus 被采纳为 WebRTC 线路协议的强制格式,但我们没有对视频编解码器类似的规定。免版税的 VP8 和非免费的 H.264 编解码器都被认为是基线的一部分。一方希望自由实现规范,另一方希望得到硬件支持的视频压缩,而 VP8 当时并没有这种硬件支持,因此达成了共识。
主要的硬件供应商从一开始就参与了 AV1 的开发,我们预计这将导致加速支持的推出速度更快。
4 月,Bitmovin 展示了第一个使用新的 AV1 压缩技术的直播。
6 月,Bitmovin 和 Mozilla 合作展示了第一个在网页中播放 AV1 视频的演示,使用了 Bitmovin 的自适应比特率视频技术。该 演示 现在已可使用,并与 Firefox Nightly 兼容。
编解码器工作是开源的。如果您有兴趣进行测试,可以自行编译编码器。该格式仍在开发中,因此务必将您正在测试的版本与 Firefox Nightly 中的解码器版本匹配。我们扩展了MediaSource.isTypeSupported
API,以接受 git 提交作为限定符。您可以进行测试,例如:
var container = 'video/webm';
var codec = 'av1.experimental.e87fb2378f01103d5d6e477a4ef6892dc714e614';
var mimeType = container + '; codecs="' + codec + '"';
var supported = MediaSource.isTypeSupported(mimeType);
然后,如果您的编码资源在该特定浏览器中不受支持,请选择备用资源或显示错误。
我们支持的过去的提交 ID 包括aadbb0251996
和f5bdeac22930
。使用默认配置选项构建的当前支持的提交 ID 可 在此处 获得。一旦比特流稳定,我们将放弃这种约定,您就可以像测试其他格式一样测试codecs=av1
。
例如,在当前页面中运行这段代码,我们可以报告
自首次演示以来,我们一直在继续开发 AV1,提供来自实际应用测试的反馈,并定期更新我们支持的版本,以利用持续改进。压缩效率不断提高。我们希望明年能够稳定这种新的格式,并开始在互联网上部署这种激动人心的新视频格式。
关于 Ralph Giles
Ralph 大部分职业生涯都致力于媒体技术和免版税编解码器的开发。目前,他帮助维护 Firefox 中的视频播放模块,并支持 Rust 编程语言的新工作。在业余时间,他喜欢阅读书籍和聆听早期音乐。
关于 Martin Smole
Martin 负责 Bitmovin 编码产品的战略、路线图和开发。他的团队致力于为红牛媒体之家和纽约时报等全球优质媒体和科技公司提供复杂的视频编码工作流程。作为最早的员工之一,Martin 领导了 Bitmovin 编码基础设施的开发,构建了世界上第一个商业级大规模可扩展编码服务,能够实现比实时速度快 100 倍的速度。目前,Martin 负责监督 Bitmovin 编码解决方案的进一步开发,包括集成新的技术,例如 AV1。
10 条评论