在浏览器中分析AV1码流

本文介绍了Mozilla在浏览器中实现AV1视频编解码器的分析工具,帮助开发者更便捷地分析性能和定位问题。通过Emscripten将分析器和编解码器移植到JavaScript,使得分析过程可以直接在浏览器中进行,提高了效率并简化了分享和协作。
摘要由CSDN通过智能技术生成

与Google、苹果和微软不同,Mozilla的Firefox并没有庞大的生态系统照看和支持。不过这并不能妨碍Firefox Quantum取得广泛的好评。Firefox的拥趸疯狂的支持这家拥抱开源、开放的科技公司。Mozilla也是AV1和WebRTC重要贡献者,在LiveVideoStackCon 2018大会上,Google多媒体组的Zoe Liu称赞了Mozilla的贡献。


作为下一代免专利费、开源的编解码器,AV1被认为将给互联网上的多媒体开发和应用带来广泛影响。本文来自Mozilla研究主管Michael Bebenita,他在浏览器上实现了视频流分析,帮助Codec开发人员快速分析性能,定位bug。LiveVideoStack进行了摘译,点击『阅读原文』访问原文链接。如果你有兴趣利用业余时间为LiveVideoStack贡献,欢迎申请成为的社区编辑,你可以通过LiveVideoStack微信公众号内回复『社区编辑』了解详情。


文 / Michael Bebenita

译 / 蒋默邱泽



在Mozilla,我们一直在努力研究新一代AV1视频编解码器。AV1可比HEVC(H.265)和Google VP9提高25%的编码效率,并由AOM开放媒体联盟( Mozilla & ATEME都是是其一部分)开发。


AV1事实上是VP9的衍生产品,现在还包括大量额外的编码工具需要从Daala、Thor和VP10编码导入进行测试实验。这些实验以意想不到内容形式和画面复杂性产生互相作用,必须在各种各样的画面内容上反复测试,这可是很花时间的。单个视频帧有时可能需要一个多小时的时间才能完成编码,而且这只不过是我们日常测试的一小部分而已,我们编码30个视频剪辑,每个剪辑包含60帧。整个编码过程是大规模并行的,并在AWS上运行,虽然使用了硬编码,运行一个测试任务仍然可能需要几个小时甚至几天之久。


遗憾的是这种计算成本使得开发者不便于本地编码和分析视频流,但也揭示了一个有趣的现象。为什么不在云(或浏览器)中运行我们所有的分析工具呢?


我们的第一个尝试就是使用流分析仪。分析仪解码AV1数据流并显示关于流信息的各种细节。这些信息可以帮助编解码器工程师更轻松地识别和修正bug。分析仪的输入通常很小(一个编码比特流),但输出流非常大。例如:一个1080p的视频帧产生4MB的原始图像数据和大量的分析元数据。如果分析仪在本地运行,简直小意思,但是若是分析仪在远程服务器上运行,则带宽尤其是延迟会很致命。


理想的解决方案是直接在浏览器中运行分析仪。为此,我们需要将分析器和编解码器移植到JavaScript中(幸运的是要感谢Alon Zakai,为我们提供一个工具Emscripten可以帮助我们),并在浏览器中运行它。


分析器由两个组件组成:decoder.js,它是编解码器的Emscripten编译版本和基于HTML的UI前端。 要分析一个视频,我们只需要指定一个视频文件(采用* .ivf格式)和一个适当参数的decoder.js文件来解码它。


analyzer.html?decoder=decoder.js&file=a.ivf&file=b.ivf


在上面的链接中,analyzer.html加载解码器,并用它解码2个码流a.ivf和b.ivf。或者也可以使用多个解码器来分析视频:


analyzer.html?decoder=aDec.js&file=a.ivf&decoder=bDec.js&file=b.ivf


这种方法的优点在于你可以轻松共享链接到解码的视频,而且所有这些都在浏览器中运行,无需维护任何服务器基础架构。对于提交给AreWeCompressedYet.com(AWCY)的编解码器的每个修订版,都会自动生成解码器JavaScript文件方便它们可公开访问。


你可以按照以下步骤实现:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值