今年,语音社交概念火爆,各种基于语音聊天的社交游戏层出不穷。【融云全球互联网通信云】这背后的原因是,受疫情影响,人们宅在家里,刺激了各种在线社交、影音娱乐、远程办公、在线教育、和远程医疗。人们将生活中熟悉的场景搬到虚拟社交“云平台”上,形成云办公、云服务、云娱乐、云派对等新的云社交场景。有史以来第一次,IM和RTC都开始进入一个以多样化场景应用为主题的新时代。但是,不同的场景对通信技术的要求不同,带来的技术挑战也不同,需要不同的技术解决方案。作为开发者,如何了解通信领域的新技术趋势,掌握相关技术栈?带着这个问题,InfoQ采访了融云科技副总裁岑宇。场景抽象:四人开发五天,在线聊天室业务新场景方面,一方面,疫情的推动加速了各领域的线上应用。另一方面,无论是行业应用市场还是互联网市场,都涌现出了在线政务、远程庭审、无接触金融服务等诸多新场景。日益多样化和复杂的场景加速了通信行业的发展,但在行业快速发展的过程中,不可避免地考验着开发者的各种能力。在常规的场景化解决方案下,行业经历了两个发展阶段:第一个阶段是使用后端开源代码加前端开源代码进行二次开发,学习难度大,成本高;第二阶段只需要在前端做二次开发,但是对于开发者来说,还是需要学习底层知识。“虽然技术不是很复杂,但开发者会花很多时间去理解实时音视频相关的概念,这大大降低了开发效率。”因此,今年6月,融云推出了聊天室SDK1.0,让开发者可以快速搭建聊天室。它有多“快”?岑宇举了一个例子:“我们有一个客户团队,大概有3-4个研发人员,在使用语言聊天室SDK的时候,大概用了五天的时间就把这部分业务上线了,但是当我们没有上线语言聊天室的时候在SDK之前,另外一个客户团队,大概有20-30个研发人员,使用RTC底层进行集成,大概用了20天。”目前单一形态的社交APP并不多,大多数情况下会添加相关的聊天室场景,基于用户需求和行业调研,融云推出了聊天室场景SDK。场景化的SDK解决方案大大降低了开发者的开发和学习难度,提升了开发效率,直接推动行业进入新的发展阶段。“此外,我们还推出了直播SDK和来电SDK,还将推出更多热门场景SDK,不断丰富场景化SDK的覆盖面。”岑雨向我们透露。技术挑战:突破直播场景人数和首帧体验的限制,在抽象场景的同时,尽可能为开发者服务,降低开发成本。IM/RTC服务场景的改变,也让高并发问题再次来到了开发者的案头。高并发支撑能力更“极致”的展现,是容云“不限观众”的互动直播服务。通常,“无限”服务只是一种象征性表述,即便是大型公有云服务商也无法真正做到“无限扩展、无限弹性”。对于IM/RTC行业来说,“无限量”服务是一个可怕的承诺,因为直播间不仅要承担与不同终端的TCP连接,还要支持海量弹幕转发服务和海量礼包转发服务,可能需要在信令控制层面同时控制千万人。前段时间,某港星为出道40周年做直播,抖音直播间观看人数破亿。此外,岑宇还给我们举了一个例子:“最近我们支持了一个客户的直播,有几百万级别的人。4小时内,我们分发了1900亿条消息。”支持如此高并发的直播,实现“无观众限制”的互动直播,关键在于两点:一是消息分发的机制和控制:说白了就是实现消息分类系统,在融云中称为消息“白名单”。例如,礼物信息一般需要全量分发,因为有价值的礼物体现了用户的身份,是直播业务的核心运营价值之一;相反,弹幕的分布具有选择性,观看者不太可能出现在手机屏幕上。互联网上可以同时阅读上千条弹幕,无需实现全发。二是音视频处理:音视频处理分发有两种处理策略。一是追求实时性和交互性的灵活性,一般采用分流分发的方式;另一种是在实时性和带宽之间进行权衡。,执行合并分发。业界将前者和后者的技术方案分别称为SFU和MCU。在近几年的RTC低延时直播中,两者会结合使用,比如合流推送给主播。但近期由于疫情的推动,在超大会议室、小班课、聊天室等场景下,两者的技术界限进一步模糊。对于音频部分,除了流的全分配和合并后的重新分配外,所有上行音频的音量可以通过服务上的逐节点权重选择进行路由和重新分配,同时兼顾实时性和带宽。对于视频部分,常用的组合分发会带来一定的延迟,而拆分分发更灵活,延迟更高,但人多时带宽占用会更大。在直播过程中,这两种模式可以结合使用,可以随意切换。分屏较多时,通过提前订阅,翻页显示几乎没有延迟;通过链接复用和内容分层,页面跳转显示延迟在200ms以内。另外,直播第一帧的显示也是重要的用户体验指标之一,也是开发者需要关注的点。融云提供的低延迟互动直播,是基于RTC技术进行直播。不依赖CDN推流,首帧显示延迟300ms左右。“第一帧显示也分为几个维度。”融云科技副总裁岑宇向大家介绍:首先是链路层面。融云在保证全球覆盖的前提下,结合各运营商接入节点和客户端物理特性,帮助用户第一时间选择最优链路。这也是基于融云历史数据不断学习的过程;第二,音视频的对齐。针对不同情况下的音频首发,包括提前多少、视频跟进如何调整、链接首帧的比例等,容云会针对不同场景做出策略性调整;三、第一个帧缓冲区的设计。传统的CDN链接涉及直播地址分配、GOP缓冲数据请求等一系列耗时操作,无法满足用户“打开直播希望立即加载视频画面”的需求。融云基于RTC技术实现客户端动态缓存,配合服务端处理关键帧请求,将缓存变成一个静态和动态的过程。但是关键帧的请求过程会对网络造成一定的压力,所以在这个过程中,融云也对关键帧的请求频率进行了限制,配合静态buffer形成动态的首帧GOPbuffercache,从而提高首开效率;第四,针对不同的客户场景提供不同的解决方案。融云在服务端提供大小码流或分层编码方案,针对不同的客户场景提供不同的选择,确保客户可以根据业务情况选择不同的方案;第五,首帧数据监控。融云搭建了完善的系统,可以监控全球网络首发的质量和具体数据,并根据数据优化不同区域的网络状况。当然,支持高并发直播的“内功”是分布式架构的设计和处理分布式事务的能力。作为IM/RTC服务商,还是需要优先保证自己的基础设施不被流量压垮,才有能力考虑消息的分级、合并、渲染、分发。WICC与通信云的未来服务开发商,除了提供高标准的技术解决方案,融云还在探索更多形式,世界互联网通信云大会(WICC)就是其中之一。谈到WICC,岑宇表示,“举办WICC的初衷是为开发者提供一个与大家交流的平台,帮助他们看到通信技术的发展趋势。”同时,他还向大家介绍,每次大会都会为大家带来技术分享,在刚刚过去的广州站,WICC为开发者设立了两个技术分论坛:“社交分论坛”和“出海分论坛”-forum”,这是对上述基于场景的趋势的实际解释。社交分论坛,融云场景化研发负责人臧启龙做了主题演讲《融云社交场景化 SDK 探索》,介绍了融云社交场景化SDK的开发计划;极目风控负责人徐明发表主题演讲《陌生人社交生态治理实践》,介绍了极目在打击网络诈骗和黑产方面的防控思路和实践经验;StarMaker广州研发负责人林瑞群发表了主题演讲《StarMaker 音视频直播架构演进之路》,从后台架构、海外CDN、直播协议等方面对直播进行了介绍,行业开发者给出了自己的经验。对于身处社交场景的开发者来说,这个分??享是必听的。(关注公众号并回复WICC获取讲师演讲PPT)海外分论坛,荔枝运维总监熊震做主旨演讲《全球化业务基础设施建设》,分享了海外业务在海外的技术难点基础设施,并为开发人员带来了解决方案建议;阿里云智能视频云高级技术专家邹娟发表主题演讲《面向全球竞争,阿里云视频云的最佳技术实践》,分享了阿里云视频云的演进路线和技术架构;LiveMe技术总监邹一鹏发表了主题演讲《跨境支付体系的演进之路》,分享了搭建跨境支付系统的实战过程,并为开发者进行了实战案例讲解。出海涉及的基础设施层和架构层问题很多。这种分享可以让音视频领域的开发者补充自己的技术栈。两个分论坛涵盖了当前通信云最前沿的技术知识。从某种意义上说,他们也向开发者描述了行业未来的整体趋势。谈到通信云的未来,“我觉得我们现在看到的场景中的需求,还是在4G末期或者4G的时候积累起来的,至于5G下面怎么走,我觉得大家还处于探索阶段。”岑羽说道。首先,在技术趋势探索方面,融云将不断探索新场景的需求,通过与相关前沿技术厂商的合作,不断满足新场景下的新需求,减轻开发者的负担。其次,在推动整个行业方面,融云将不断总结在通信云领域的经验,并传递给整个行业。具体包括:未来我们将深化产学研合作,进一步明确和推动相关行业标准建设;支持和推动WICC等行业各类主题峰会的开展;同时加强技术社区建设,逐步推动行业生态的完善。
