作者:子融
阿里云 RTS 技术方案
时至今日,互联网直播经历了 4 年的高速期发展,用户对体验的要求也越来越高,传统的 5-10s 延时很难进行实时互动,比如时下很火的直播带货和在线教育业务,主播和观众、老师和学生的实时互动体验还是有很大的改进空间的,另外随着 5G 时代的到来,新的场景,比如 AR/VR 沉浸式直播、4K 全息投影远程直播都要求更高带宽和更低延时。
但直播技术近几年却未能有本质性的突破,互联网直播技术开始遇到了瓶颈,甚至开始阻碍业务的发展。那么我们如何才能在延时上有所突破呢?
要解决这个问题,首先我们需要剖析一下直播延时的整体分布,互联网直播全链路可以分为 7 个步骤:分别是采集、编码、发送、分发、接收、解码和渲染。其中采集 + 编码,解码 + 渲染总体延时比较固定,共 100ms 左右,变动比较大的部分是分发和接收,从数十毫秒到数秒不等,主要取决链路时延抖动、协议栈的优化情况,以及 CDN 资源的覆盖情况。
在传统的架构里,这 7 个环节相互独立,互不相干,这样做的好处是团队分工比较明确,但问题就是优化手段很难做到跨界融合,导致无法做到系统级优化。
比如,编码器如果可以考虑发送时的拥塞情况来实时调整码率就可以一定程度上缓解拥塞,从而降低延时;再比如传统的流媒体传输中媒体数据发送和底层的传输是相互独立的,底层 TCP 传输的拥塞控制算法是个通用算法,不会考虑媒体的特性。
这样的一个分层结构是很难形成即时反馈系统的,那么为了保障流畅度,缓存区的大小设计会相对保守,从而牺牲了端到端的时延,如果传输层和应用层是一体化的, QoS 控制针对媒体特性来专门设计,同时配合编码侧的码率控制,就能通过组合拳的方式,大大地降低延时。
所以上述各个环节应该是环环相扣,做到全链路相互感知才能将延时压缩到极致。
阿里云超低延时直播产品 RTS,它是阿里云视频直播产品的升级版,因此保留了阿里云视频直播产品的所有特性,同时还具备了如下 4 大核心优势:
第 1 是 RTS 的秒级延时和卓越的抗弱网能力,在相同卡顿率下延时可以降低 80%,相比于传统的 RTMP 和 FLV 的 5-10s 延时,RTS 的延时可以达到 1s,并且还在基于线上的大数据,在自我学习和持续迭代中。
第 2 是 RTS 的成熟稳定,RTS 经过了阿里小二们 2 年 多时间的潜心研发,并经历了 2020 淘宝直播 618 和 双 11 的双重线上考验,目前已经在淘宝直播上全量上线。
第 3 是开放标准,为了能够方便自研播放器的客户使用我们的 RTS 服务,我们的 WebRTC 接入的信令协议的完全开放的、透明的。
第 4 是广覆盖和高并发,RTS 服务是构建在阿里云 2800+ 边缘节点之上,可以支持千万级并发播放。
RTS 具备无缝迁移和简单易用的特性,我们提供了 2 种方案,来供开发者灵活选择:
方案 1:无需架构升级,仅升级播放 SDK,对于使用云厂商播放 SDK 的客户,升级播放 SDK 后,可根据业务情况,灵活地选择网络传输协议,打造更高性价比组合。
方案 2:基于 WebRTC 开放信令协议,升级网络模块,对于自研播放器的客户,阿里云提供与标准 WebRTC 协议对接的代码示范,客户可以自行升级网络模块,来接入阿里云的 RTS 服务。
阿里云 RTS 落地案例和业务价值
首先是淘宝直播,目前淘宝直播已经全量使用了阿里云的超低延时直播产品,并且顺利保障了淘宝 618 直播大促。和传统的 HTTPFLV/RTMP 方式相比,在用户体验上,RTS 端到端的延时降低了 85%,卡顿率降低了 20%,在业务价值上,支付的 UV 提升了 4%,GMV 的提升到达了 5%。
另外一个我想和大家分享的案例是某在线学习平台。
该客户在使用了我们的 RTS 产品以后,流畅度得到了很大的提升,延时降低了 70%,同时结合阿里云视频云窄带高清媒体处理技术,在相同的清晰度下带宽节省了 30%,最终客户满意度提升了 2 倍。
展望:在线教育体验升级之路
最后一部分,我想和大家探讨和展望一下,在线教育场景下用户体验升级的路径。
过去,在线教育比较典型的架构是旁路直播模式,即云端有个基于 WebRTC 的 RTC 媒体中心,老师以及需要实时互动的学员会接入到 WebRTC 频道中,WebRTC 频道的延时一般在 400ms 以下。
然后由 RTC 媒体中心,转推一路 RTMP 流到直播 CDN,进行旁路直播,由于分发采用的是 RTMP/HTTPFLV,观看直播的延时一般在 5-10s,由于时延大且协议的不一致性,在这种情况下观看直播的学员如果要切入到 RTC 频道中进行互动,体验是比较差的,有时还会有黑屏中断。
那么在今天,在架构不做调整的情况下,如果使用了阿里云 RTS,带来的好处是一方面观众的延时降低了,另一方面,分发协议改用 WebRTC 后,与互动频道保持了一致,直播观众和老师的互动切换体验会更平滑。这种模式可以满足超低延时大班课的场景的需求。
那这个是不是就是极致了呢?我们认为,在体验上还有进一步优化的空间,那就是云端的 WebRTC 双向通信频道的能力也下沉到 CDN 上,由 CDN 来承载,将互动和分发进行融合,从而形成一体化的超低延时互动大频道,通过业务层来控制 WebRTC 流的订阅关系,直播和互动频道间不再有明确的界限,可以灵活的根据业务情况按需在 2 种模式间进行切换。
而且这种切换对学员和老师都是完全无感的,目前阿里云的全球实时传输网络 GRTN 就是在为用户构建这样一种新的体验升级,从而为用户开启一套统一的、毫秒级延时、千万级并发的,无感互动新模式。
以上就是关于 RTS 分享的全部内容,谢谢大家。
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。