开发者社区> 视频云技术> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Hotstar赛事直播编码组合优化

简介: 在更高的并发性的情况下,通过用少量的字节实现更高的QoS是很有效的。Hotstar分享了在通过优化编码组合改进用户体验的实践。
+关注继续查看

文/ Ullas Indi


译/ John


原文https://blog.hotstar.com/video-encoding-recipes-for-live-cricket-21f875080932

image.png

在最近结束的VIVOIPL 2018,我们尝试多种视频编码组合,来寻找可以使得用户即使在千万人同时观看的情况下也可以获得最佳的视频质量的合适的组合。 鉴于可用的带宽是有限的,在不牺牲用户体验的情况下有效地使用有限的带宽是至关重要的。


有限带宽

 

我们的大部分流量来自于在移动手机上浏览Hotstar的用户。 虽然情况正在好转,但是蜂窝体验必须依赖于不可靠并且随时变化的蜂窝移动网络。 除此之外,随着程序的发展,大量的用户会因为他们的每日FUP限制而遇到带宽上限。 这个smallpipe problem很好的解决了在现有的或者更低的比特率的情况下提供更好的视频质量的问题。

 

方法

 

我们的重点是创建一个为手机用户优化的比特率阶梯。 查看用于编码实施内容的视频编码设置和用于编码H.264/AVC的方法进入了我们的视线。

 

决策

 

优化编码参数引发了关于以合适的分辨率进行正确的混合编码的广泛讨论。 例如,在800kbps时,我们应该以360p,720p还是1080p进行流式传输? 可能看起来360p是最佳选择,但是如果用户选择在一个具有更高分辨率的屏幕上观看的时候,可能会由于在设备上的放大而导致缩放伪像,给用户带来较差的观感体验。 相反,如果我们以800kbps的速率使用1080p,我们可能会发现由于比特率不足而导致的很多编码伪像。

 

并非所有的视频内容都是一样复杂的,它们中的每一个可能都需要一个单独的比特率阶梯和基于内容复杂度的精细调整的编码方案。 我们从中获得了灵感,并且开始探索我们板球比赛的特征。

 

我们通过运用不同的比特率和分辨率对源内容进行编码来获得它的速率-失真曲线。 我们使用VMAF(VideoMulti-Method Assessment Fusion),一种由Netflix开发并作为开源提供的感知视频质量评估算法来测量这些编码视频的质量。 我们很好的调整了我们的实验来定位到移动设备受众。 以下是我们获得的比特率曲线。

image.png

横轴表示编码流的比特率,纵轴表示其VMAF分数。 VMAF值越高,视频质量越好。

 

从上图可以看出,对于以1080p分辨率编码的流,在比特率超过3000kbps之后基本上没有任何的增益。 同样,对于相同的流,在比特率低于2400kbps的时候它的视频质量低于同条件下的720p流。 这告诉我们每个分辨率都有最优质量的比特率范围和相比其它的分辨率不是那么出色的比特率范围。 如果我们要从所有分辨率中识别所有这些比特率范围,我们将获得理想的操作区域。

 

除了比特率-分辨率对之外,还有很多其他编码器设置可以控制输出视频质量,例如H.264配置文件,参考帧数,自适应量化等。 我们尝试了这些设置的不同组合来在我们的编码器中获得尽可能最优的输出,并且确定这些设置作为我们的微调编码方案。

 

为了确保与旧设备的向后兼容性,我们在不同比特率变体中囊括了编码器设置的微小变化。

 

A/B Test

 

由于这可能是一个能有巨大影响的发现,我们倾向于用A/B来测试我们的发现。 我们用我们的新发现创建了一个镜像编码工作流程,并且在我们的一小部分受众中进行了测试。 在这个过程中,我们观察了重新缓冲和平均比特率等关键指标对于与其他控制组相似的类似样本大小的影响。

 

由于我们也修改了编码器的设置,所以确保新的设置可以与所有支持的设备兼容来进行播放是另外一个重要的考虑因素。 我们必须要确保对于H.264配置文件或级别等编码参数的任何修改都不会影响到在任何支持设备上的播放。 我们在各种受支持设备的测试流设置过程中对此进行了验证。 在我们在实时设置的测试期间,我们监控了与测试组中的使用情况相关的关键指标。

 

结论

 

我们发现了在相似的比特率下,比原来的比特率阶梯有着更优的视频质量。 这意味着用户,比如说,在具有512kbps的互联网连接速度的Hotstar上观看流式传输的板球比赛,与具有旧比特率阶梯和编码器设置的视频相比,接收到质量提升很多的视频。

 

在原有的比特率阶梯条件下,全高清的1080p流需要用4500kbps的速率传输,但是在新的比特率阶梯的条件下,我们可以用仅仅3000kbps的速率来传输全高清的1080p流,这在不牺牲观感体验的条件下节省了接近33%的带宽!

 

我们密切监控各种参数,如重新缓冲率,总观看时间和用户参与度,编码阶段的延迟,消耗的流的平均比特率。 总的来说,我们观察到编码器中的重新缓冲率和延迟与旧的比特率阶梯相似。 我们还注意到相对观看时间的增加表明由于视频质量的提高,用户愿意用更多时间观看实时比赛。

 

下面的图片是我们内部测试期间捕获的屏幕截图。

image.png

image.png

第一个图像对应于旧编码,第二个图像对应于新编码,但与第一个编码的比特率相同。 通过我们的新编码,我们能够以与之前相同的比特率提供更高分辨率的视频,特别是对于较低范围的比特率。 最终结果是更好,更清晰的视频,如上面第二张图所示。

 

下面是另一组屏幕截图。

image.png

image.png

两种编码均为800kbps。 使用旧编码,我们以800kbps的速度提供360p,但是采用新编码我们能够以相同的比特率提供480p。

 

展望

 

虽然我们的重心是在为我们的实况板球比赛生成有效的传输阶梯,但是我们的工作也在继续调整所有的内容库的方案。 在我们的规模上,这些比特率节省对传输产生了重大影响,并且在提供更好质量的同时实现这一目标是最重要的!

————————————————

版权声明:本文为CSDN博主「LiveVideoStack_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/100588869


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

阿里云视频云@凡科快图.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java并发:InheritableThreadLocal详解
Java并发:InheritableThreadLocal详解
47 0
详解 「二分滑动窗口」& 「双指针」,从 O(NlogN) 到 O(N) 的优化 | Java 刷题打卡
详解 「二分滑动窗口」& 「双指针」,从 O(NlogN) 到 O(N) 的优化 | Java 刷题打卡
31 0
从openjdk.java.net获取OpenJDK8源码并编译(amd64/aarch64/arm64)
从openjdk.java.net获取OpenJDK8源码并编译(amd64/aarch64/arm64)
55 0
熊猫直播P2P分享率优化(下):ASN组网
本文来自熊猫直播基础研发部的投稿,是熊猫直播P2P分享率优化系列文章的第二篇,第一篇请访问这里。本文授权LiveVideoStack发布,重点展示了熊猫直播通过ASN组网提升P2P分享率的实践。
248 0
阿里云服务器搭载WordPress升级遇到Briefly unavailable for scheduled maintenance时的解决办法
刚才倡萌在进行自动升级的时候,就遇到了Briefly unavailable for scheduled maintenance. Check back in a minute. 这可是第一次遇到,没办法,找了一下,原来是在网站的根目录有一个.maintenance 文件,估计就是这个文件在作怪了,直接删除以后,发现一切正常了,真是幸福啊。
1725 0
java项目编码格式转换(如GBK转UTF-8)
昨天突然下了个Java项目,把项目导入到eclipse中,发现项目是gbk编码格式想把项目变为utf-8,但是发现转换格式比较麻烦就写了这个代码,后面改进了下,想到说不定有人也需要就把它写了出来 代码如下 代码比较简单看懂了自己可以写一下,可以当做一个关于io流的一个练习 import java.
1887 0
Java操作wkhtmltopdf实现Html转PDF
做java开发的都知道,java生成pdf大部分都是用itext,itext的确是java开源组件的第一选择。不过itext也有局限,就是要自己写模版,系统中的表单数量有好几百个,为每个表单做一个导出模版不现实。 所以找了个直接可以调用的工具wkhtmltopdf,将生成好的html直接转换成pdf。功能很强大。   wkhtmltopdf是一个使用webkit网页渲染引擎开发的用来将
5535 0
257
文章
2
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载