本文来自YY基础架构部负责人冯迅在LiveVideoStackCon 2017上的分享,并由LiveVideoStack社区整理而成。冯迅重点介绍了,YY直播平台的架构演进,包括技术栈选择权衡,自建网络与采购CDN协作等。
文 / 冯迅
整理 / LiveVideoStack
大家好,我是冯迅,目前在欢聚时代(YY)主要负责音视频传输系统和音视频直播后端系统。今天想与大家分享的是YY的媒体实时传输系统与优化实践。YY是一家专注于打造专业直播平台与直播内容的互联网公司,业务主要涵盖了BGC、UGC与其背后的多样性玩法等领域。
本次分享内容主要分为以下几个方面:
1、实时可靠传输的重要性
2、不实时、不可靠的影响因素
3、直播传输网络架构演变
4、实时、可靠性优化
5、与CDN结合案例
1、实时可靠传输的重要性
想必大家都看过《新闻联播》,其中可以明显注意到的现象是直播间主播与现场记者连线交流时会出现不同程度的延迟;随着互联网技术的飞速发展,对于手机视频直播而言,消费者不再满足于单纯的直播视频观看,而是追求更多新鲜、有趣的玩法。包括YY一直在尝试的“欢乐篮球”或“陪你玩儿”、“一起玩儿”在内,随着直播场景的不断延伸,这些衍生直播玩法越来越强调互动性,其对网络实时传输的可靠性也提出了更高的要求。
2、不实时、不可靠的影响因素
对于实时性传输的探索,通常我们会关注以下三个关键指标:时延、丢包和时延抖动。由于所处网络环境的复杂多样,实时性传输受到不稳定网络干扰的可能性非常大,甚至于在某个时刻也许会出现连续丢包导致时延骤增,持续一两秒后恢复正常的现象;在生活中,Wi-Fi可以说是无处不在,但当我们在覆盖Wi-Fi的房间中走动或有强雷干扰时,Wi-Fi信号就会变得非常不稳定;除此之外,无论是在核心网还是接入网都需要面对的问题是:网络拥塞——由于链路的带宽或路由节点的性能无法满足要求导致的网络拥塞会逐渐增大RDT的时延,最终导致丢包。在YY的实际运营中我们经常会发现,即使某两个机房之间的传输质量很好,但在某两个服务器或某些IP段间却会出现不定时的丢包。其实这并不代表两个机房间的传输质量变差或者带宽下降,而是由于运营商或中间的路由结点施行的一些如防火墙或流控等策略,这些策略会将部分重要的数据包随机丢掉。这种随机性丢包对业务逻辑处理造成的影响主要体现在有效媒体流的接收延时增大,而时延的不确定增长与缩短的情况如果经常出现,就可将其称为时延抖动。