7月16日,亚太内容分发大会上,阿里云高级产品运营专家俞翔受邀出席,并分享了基于CDN网络构建超低延时直播的场景实践。以下为演讲原文。
近几年,直播带货已经逐渐走进大众视野。在今年上半年受疫情原因影响,直播营销市场被加速催熟,这倒逼着企业探索线上业务。传统高度依赖线下场景的行业也纷纷通过直播进行自救。“直播+”成为了趋势,不少商家利用直播平台与广大消费者互动,创造了新的服务与经营模式。
在这个过程中,无论是旅游、餐饮或者传统消费业,各行各业都会把直播作为新的营销手段触达最后的消费者。然而,与原来的秀场直播不同,电商直播过程中会面临更多挑战,如何把直播互动的环节做好,将观众和主播或者后台的管理人员、运营人员串联在一起,至关重要。
从最初的秀场直播开始到今天为止,整个直播的链路基本上已经实现标准化。主播在线下无论使用PC还是移动手机,都是在本地通过客户端实现采集编码,并通过推流的形式到直播中心,再经过转码等媒体处理,通过云厂商CDN网络,再经过RTMP实时的方案或者用FLV、HLS的方案,最终传递到观众侧。
这个流程是单向的过程,直接从主播到观众。过程中的互动比如评论,是在音视频流以外的旁路实现的。
很多观众希望跟主播有进一步的互动,比如音视频层面互动,延时就成了关键的制约因素。
我们现在推流都是用到RTMP,拉流观看有用到RTMP、HLS或FLV,这三种协议延时的效果都是不同的。效果最好的是RTMP协议,也往往会因为各种原因会产生3-5秒钟的延迟。这种体验对于直播带货来说可以是一种灾难,当主播介绍一个商品或者介绍某一项专门特性的时候,观众想提出问题,等到他提出问题,主播看到的时候,往返10秒钟了,这会严重打乱主播的思路与其他观众的体验感,甚至会降低成交率。
在标准化的直播过程中,我们来分析整个链路的延时因素,从而寻找优化方案。
从最初的链路来看,采集、上行推流、CDN分发、下行拉流、解码渲染,都存在一定的延时,而且比例不同。真正跟延时相关的从CDN分发开始往后到拉流到播放这段,这部分内容是真正影响到观众体验的部分。根据我们对整个环节的延时原因的分析,RTMP是基于TCP的协议包,抗卡顿是产生延时的主要原因。随着5G时代到来,视频分辨率上升到4K、8K的时候,高带宽要求可能会造成更大的延时。假设当前720P视频直播过程当中延时3-5秒,4K、8K的话也许延时更大。
阿里云CDN团队对底层基础设施能力,包括对当下主流新协议进行分析,希望能够通过新技术栈应用来实现变道超车的作用。
阿里云对业界主流的WEBRTC、QUIC、SRT进行了多维度的技术预研及应用分析。
阿里云最终选择结合WEBRTC技术进行了低延时直播的探索实践,希望能够将用户带入到低延时的时代。
如下图所示,视频直播的基础设施是覆盖全球的CDN基础设施与CDN智能调度系统。左边部分是技术现状,右侧是我们希望达到的效果。从通讯协议再到上面流媒体层面做一些改进,从TCP协议直接迁移到UDP,UDP在卡顿方面有很大的提升,进一步确保实时交互体验。阿里云CDN希望能够把现在RTMP、FLV、HLS协议转化为WEBRTC协议,从而更好地满足主播和观众互动的需求。
基于这样的架构,阿里云已经推出了一个产品——低延时直播RTS(Real-time Streaming),它是在视频直播的基础上,提供具备CDN高性价比,又能满足大规模并发的低延时直播。
作为视频云基础设施,阿里云能够为企业提供一套完整的端到端直播解决方案,下图就是整体架构:
第一,改进推流端及拉流端SDK,满足云端协议栈的升级优化。
第二,复用云端基础设施能力。将视频直播过程中所需的编解码、录制等功能延续复用。
第三, 与原有的普通直播结合。方案可以支持用户很轻松地把低延时直播和基础直播、互动直播、视频AI能力有机结合起来。
在此架构基础上,阿里云CDN针对直播互动场景,进行了一些优化:
第一,优化网络架构。CDN是一种边缘节点的形态,将阿里云的CDN网络从之前支持RTMP协议升级成为WEBRTC,从传统的流媒体协议变成了实时传输协议,实现CDN网络部分的升级。
第二,提供一种推流两种拉流组合方案。方案允许用户开启两个模式:一是很方便把以前RTMP协议继续兼容下去。二是直接开通WEBRTC低延时能力,对于用户来讲不需要做很多工作,集成一个SDK就能享受这个能力。优势是可以直接兼容现有的推流方式,尤其是专业设备。
第三,全链路低延时监控工具。能够对实时的网络链路进行监控,并提供针对性优化方案,这对直播体验的保障十分关键。从整个效果来看,播放延时基本缓冲在1秒钟左右,有很大的改进。
第四,开放的协议信令。为便于客户自行开发拉流播放器,阿里云CDN也开放了下行节点支持WEBRTC协议将直播流从阿里云直播系统拉取,客户端让用户自主可控,快速搭建自身业务形态。
总结起来,阿里云CDN基于现有网络进行优化改良,对于整个低延时直播场景具有以下六个特性:
第一,低延时。具有毫秒级延时,抗弱网能力。经过测试验证,相同卡顿率下延时降低80%;
第二,无缝迁移。延续直播RTMP推流,不改变原有架构,仅需端上更新SDK;
第三,简单易用。功能丰富易接入,直播、点播、转码、截图、录制、安全审核等多场景功能;
第四,大规模高并发。阿里云CDN具有遍布全球的2800+边缘节点优势,离主播和观众更近,可以支持百万级推流,千万级并发拉流播放;
第五,成熟稳定。经受电商业务大规模线上检验的真正能落地的产品,电信级QoS;
第六,开放标准。开放WebRTC信令协议对接,客户端用户自研自可控。
俞翔认为:虽然低延时直播可能会带来少许成本增加,但是好钢用在刀刃上。尤其是在特定的场景中,低延时直播的价值会被有效放大,比如电商直播、教育直播、体育或者拍卖直播。
阿里云低延时直播产品已经围绕电商和教育两个直播场景有了较好的落地。
第一是淘宝直播,基于超低延时直播产品,淘宝直播端到端的延迟降低85%,卡顿率降低20%,更好的互动体验也让支付UV和GMV得到了相应的提升。第二个是在疫情期间的在线教育课堂,在线教育平台上存在一个场景,当100个学生在线观看,而只有3-4个学生提问互动,如果纯用WEBRTC技术的话,首先资费比较高,其次技术架构比较复杂。在采用了阿里云低延时直播产品之后,就可以解决以上问题,实现少部分学生的流畅互动的同时,也把互动课堂在线上面向于成百上千的学生进行播放,对于整个在线教育机构成本节约,给教育课型转型带来了很大的帮助。