前言
今年3月,由腾讯云主办,联合国内直播行业巨头参与的“云+视界”大会在北京举行。大会上视频直播行业一众巨擘齐聚现场,聚焦视频直播行业的新趋势,共话直播生态与视界未来。来自腾讯TEG(技术工程事业群)架构平台部高级总监Lolly,分享了直播云在云端的技术架构。本文由其PPT及演讲稿编辑整理。
演讲主题:点亮视界——直播云端技术架构
我今天为大家分享一下直播云在云端的技术架构,2016年我们总共直播1000+场NBA比赛,100+场演唱会,300+场LOL赛事直播;另外还有数十万的主播在我们直播平台上每天发起直播,从2016年开始,我们进入了视界的一个新时代。
高并发是整个直播平台一个最大的挑战, 我们直播平台目前最高峰值可以达到两千万同时在线。挑战在于不仅要支持这么高的在线人数,同时还要保障直播用户的体验,比如要高清晰度、低卡顿、低延时,还要保证开屏速度非常快。我们整个系统在资源覆盖、调度、突发保障、快速流量迁移等等做了一系列优化措施。
以NBA为例,简单介绍一下后台支持的情况。NBA去年在腾讯视频进行独播的时候,最高在线数字非常高,对这么一场大型直播,最关键的就是信号源一定要保证非常安全可靠,从美国的赛场传递到中国,这么长的距离,怎么保障直播信号的稳定,怎么保障在国内的观众能够非常流畅地看到每一场赛事?
通过两条光纤,把信号传播到国内,同时还有备份卫星直播; 对两条光纤传过来的数据进行一个双发选收的操作,选择数据质量最好的进行实时播放。另外, 在国内建设了三大IDC处理中心,保证每一条从美国过来的信号,任何一个环节出现问题都能进行秒级的切换,这样就能保证在网络出现抖动或者服务器出现异常的情况下,能够让用户看到直播的信号是无感知,非常流畅的。
要支持这么大的带宽,最关键的问题就是资源的问题, 能够使用整个CDN平台多个资源池,能够保证任何一场直播有10T以上的带宽突发能力; 同时由于每一场直播,尤其像NBA赛事这样热门的直播,最高突发的时间每秒可以达到上百G带宽的瞬间增加,需要有秒级调度的能力。
同时,为了满足非常热门的赛事直播,尤其是总决赛、阅兵之类的非常大型的直播,直播平台要能够提供柔性的能力, 当发现资源已经处于一种不足的情况下,自动采用柔性调度服务,对高码率的直播进行动态降码率的调整,或者对前端用户进行排队处理。
这是对内部业务的处理情况,我们的目的是希望尽快将内部支持能力开放给合作伙伴
第一点是对直播全链路进行加速,2016年的直播除了传统的电视直播模式,还有一种新的模式,就是主播;每天都有数十万主播在整个平台上进行直播,这些主播分布在全国各地,怎么保证这些主播的直播信号非常流畅的传递到后台?
对主播采用就近推流的模式,在离主播最近的地方把直播流接入到直播平台,观众观看的时候也能够就近观看,我们在主播接入点和观众接入点之间,建设了一条高速互联专线。
第二点,现在的直播形态是越来越多样化,比如在平台运行的直播产品,它可能是同城直播,或者是附近的人直播,这种直播场景的特点,就给我们带来一个非常好的优化方向,如果是这种同城直播,或者附近人直播的时候,我们直播平台会支持本地分流。
第三点,现在直播的终端非常多样化,有盒子、手机等等,每一路直播流在不同终端播放需要不同的直播格式,我们现在采用的方式是把这路流推送到离用户最近的地方,在边缘的节点上对这个直播流进行实时的转封装,这样做有一个好处,当用户播放的时候,可以有效地节省整个直播链路的穿越带宽,在保证用户体验的情况下,能够合理地降低直播平台的成本。
去年开始到今年,直播不仅在国内蓬勃地发展,很多直播业务也在往国外扩展,我们也加速海外直播的建设,目前我们有60+个节点,覆盖30+个国家,而且这种直播大部分情况会按国家去推,我们也支持直播的最小模型,如果部署上最小模型,本地直播就可以快速上线,跨国的主播进行播放的时候,可以支持智能选路,包括专线互联的模式。
提到直播的成本问题,从去年开始,我们就尝试在内部使用更高压缩率的算法,包括点播也会应用到,我们也希望将这种能力开放出去。
同时伴随着VR、4K更高码率直播的诉求,内部也在进一步地研发,比如将现在这套代码进行重构,算法方面进行优化,同时采用汇编,更高性能的访问模式,在同等质量下,压缩效率相对现在的开源能够进一步提升10%,这是我们的一个目标。
云端优化的技术不可能面面俱到,整体上看,从推流加速、专线互联、边缘计算到本地分流,到快速的流量调度,我们的平台会提供一整套的能力,保证整个直播的流畅和高体验。
注:本篇内容来自”腾讯技术工程官方号“,公众号ID:tegwzx