简介: 7月16日,亚太内容分发大会上,阿里云高级产品运营专家俞翔受邀出席,并分享了基于CDN网络构建超低延时直播的场景实践。如下为演讲原文。安全
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技术的话,首先资费比较高,其次技术架构比较复杂。在采用了阿里云低延时直播产品以后,就能够解决以上问题,实现少部分学生的流畅互动的同时,也把互动课堂在线上面向于成百上千的学生进行播放,对于整个在线教育机构成本节约,给教育课型转型带来了很大的帮助。