伴随远程会议、在线教育、直播带货等深入人们的日常工作、教育和生活之中,越来越多的场景对大规模实时音视频技术提出更高要求:50人同时互动、100万人同时观看需要面临哪些技术难题?可能遇到哪些挑战?
日前,即构科技联合开源中国共同举办了线上技术分享,即构科技解决方案资深专家许明龙以「超多人实时音视频互动方案探索与实现」为主题,重点分享了:
超多人房间流媒体的分发
超多人房间信令的分发
超多人房间在弱网下的处理
如何实现100万观众的视频分发
超多人房间音视频相关配置经验
多人互动下的回音处理,即构的优势有哪些
超多人房间界面设计
许明龙首先回顾了流媒体三大服务架构,包括Mesh、MCU、SFU,并分别阐述了它们的特点和优劣势:
通过对比,即构科技选择的是SFU这个流媒体架构,因为它只做流媒体转发、不涉及编解码操作,推一路流,拉多路流,对服务器消耗不高且延迟低,需要解决的就是客户端下行带宽的问题。
以单房间下的并发问题为例,从业务角度看,主要瓶颈包括:
实现视频互通的两个步骤:流发布、流订阅
每个人发布的流信息,广播到所有人
如果是100个人实时视频互动,那么100人同时推流,就需要广播100*99次
如果一个房间里有100万个观众,那么就需要广播100*100万
从技术角度看,其瓶颈在于:
长连接用户状态维护、内核瓶颈、锁开销、CPU开销等
通过对单房间百万人并发压测,包括100万用户登录同一个房间、房间内1秒发送一条消息(流信息)、统计100万用户接收消息的延迟等。最终得到的结论是,最小延迟54毫秒,平均延迟361毫秒。
在解决了服务端问题后,许明龙又介绍了客户端方面的挑战,即超多人房间在弱网下的处理。即构科技追求的不仅仅是快,而是更快,甚至要超级快,而影响快的因素包含两个方面,其一,TCP需要三次握手,而一次握手就需要几百毫秒;其二,业务复杂,还要串行执行,严重影响视频体验。
对此,即构科技提出了两种解决方案:
首先,对底层协议和服务接入层进行大改造,使用QUIC替换TCP协议,重点是减少了TCP的三次握手,改进了拥塞控制并完成了连接迁移,进而实现了优化弱网接入质量;
其次,优化信令和媒体之间的协同关系,包括登录和流发布的很多内部流程并行化操作,以及流发布和流订阅的内部流程也并行化操作。
即构科技要实现的不仅如此,还要实现全世界范围的快,当然也面临更大的挑战,如从底层协议到业务信令,从国内到国外,实现全球化的快。
面对超多人全球化的挑战,最大的问题是全球数据如何互通?如何快速互通?
即构科技带来的解决方案是在全球部署多个数据中心,这其中也存在诸多难题,包括数据同步速度快、数据变化频率高以及高可用环节多等。
据许明龙介绍,多数据中心有四方面优势:全球就近接入中心服务、提升全球每个角落的登陆速度、提升同区域用户的通信速度和提升容灾能力。
此外,在抵抗弱网方面,还需要应对下行带宽不足的问题,要实现:
网络好的人,看到画面流畅清晰
网络不好的人,也不要卡顿,不太清晰也能接受
对此,即构科技探索了可能存在的几种解决方案,即:
推流端同时推两路流,一路高清的流和一路低清的流
服务端转码,转出低清的流
分层编码
两路流和分层编码的区别
基于不断的探索和实践,即构科技在抵抗弱网方面具备明显优势,在丢包率达到90%的情况下,保障连接不掉线;在上行丢包率70%、下行丢包率75%的情况下,保障视频通话正常;在上行丢包率80%、下行丢包率80%的情况下,保障音频通话正常。
即构科技还融合多家主流CDN厂商,利用CDN进行大规模分发视频,实现100万观众分发。
在双讲场景下,回音问题也特别值得注意。即构的做法是尽量抑制远端用户的回声,同时保留近端用户的语音,详见下图:
针对众多场景下的大规模超多人音视频互动的诉求,即构科技推出了TalkLine视频会议系统,一体化方案,覆盖更多场景,涵盖企业办公、远程招聘、企业培训、在线教育、远程会诊、视频客服等等。
与此同时,TalkLine采用了即构自研的音视频平台,天然的解决了以上提及的各种问题,仅需4行代码,就可以快速拥有大规模超多人音视频互动的能力。
展望未来,在线教育将迎来更好的发展机遇,其中即构科技就为某教育客户小班课实现了40多路音视频通话场景;在5G时代,将迎来更大的带宽,其音视频能力将进一步提升,满足更多场景下的大规模、超多人音视频实时互动的挑战。