查看原文
其他

解析电商网红直播带货背后的技术支持——互动直播

大话小数 中国金融电脑+ 2022-12-13

验“金”室


今年4月6日,在央视新闻主办的主题为“为湖北拼单”的带货直播公益活动中,央视主播朱广权与电商网红李佳琦互动直播、在线推销,一共售卖出4000多万件湖北商品,直播累计观看次数超过1.2亿,在为本系列公益活动打下了开门红的同时,也再一次向业界展示了互动直播的影响力。


图 1 互动直播带货


近些年来,网络直播技术的发展和业务模式的演化催生出互动直播这一新的直播形式。互动直播支持在直播过程中,主播与观众之间,或主播与主播之间,通过实时音视频通信的方式进行互动,并且通信延时处于较低的水平。互动直播的发展丰富了直播的互动形式,也为传统的直播场景激发了更多的活力,例如在线课堂、娱乐秀场以及前面提到的电商直播等。


具有高互动性与高业务延展性的互动直播受到业界热捧,似乎逐渐成为了网络直播的王牌。那么,究竟是什么原因让姗姗来迟的互动直播直到近几年才成为业内标配?本文将从互动直播的技术难点以及随之诞生的解决方案来展开介绍。


网络直播流程介绍


首先,我们需要先简单了解常见的网络直播是如何实现的。


为了满足突发性的流量增长以及访问稳定性的需要,目前绝大多数的网络直播都依赖于内容分发网络(Content Delivery Network,CDN)技术(如图2所示)。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。


图 2 直播整体架构


一次网络直播的主要流程为:


  1. 主播端开启直播,向智能DNS发送解析请求;

  2. 根据网络状况以及服务器负载等信息,智能DNS向主播端返回最优的CDN节点IP地址;

  3. 主播端将音视频数据流推送到CDN节点,由CDN节点进行缓存处理;

  4. 观众端观看直播,向直播DNS发送解析请求;

  5. 根据网络状况以及服务器负载等信息,智能DNS向观众端返回最优的CDN节点IP地址;

  6. CDN节点之间进行同步;

  7. 观众从最优CDN节点进行拉取音视频数据流,观看直播。


常见的直播协议如下:



直播协议中,RTMP 协议为流媒体而设计,在推流中使用较多,同时大多CDN厂商支持RTMP协议,因此RTMP协议在直播中使用较多。


技术难点


互动直播,简而言之,就是新增一名连麦方,上传自己的画面与音频,与主播方进行连麦,使观众方看到的是二者连麦的画面(如图3所示)。这样描述下来,看似清晰,但是实际执行起来,存在以下技术难点:


图 3 互动直播


1.直播延时较大


在这里不考虑主播端对视频编码、观众端对视频解码等客户端的延时,只讨论网络传输过程中的延时,结合图4进行说明:


图 4 直播中数据的传输过程


从主播到观众之间所需要的CDN节点通常是多个,并且数据的传输还需要在节点之间进行缓存,假设缓存耗时为Tcache,那么主播到观众的网络延时Tdelay为:


除了传输过程中CDN节点数量,缓存的逻辑、包的重传与确认,都会对网络延时造成影响,目前主流的直播相关协议,延时为2~10秒,如果主播方与连麦方直接通过直播的方式进行连麦,延时至少会增加一倍。然而,实时音视频通信对延时的要求是毫秒级别的,因此,延时问题将是互动直播的首要技术难点


2.资源消耗增加


如果观众直接接收连麦方与主播方的两条视频流,对带宽、流量的消耗过大,除了耗费网络资源以外,两路视频流解码播放,会更加耗费CPU等资源,并且为了让其他观众清楚地看到连麦双方的对话情况,避免过长的延时以及音画不同步,需要将连麦双方的画面与音频进行合成,但是无论是在主播端还是服务器端进行合成,都会比传统的直播消耗更多的资源。


3.音画同步要求更高


互动直播对音画同步的需求与传统直播类似,但是主播方与连麦方的音频和视频是分别采集、传输和处理的,因此音画不同步的问题出现的几率更大,同时互动直播中的延迟要求更高,必须保证在音视频秒级传输情况下的秒级同步。


解决方案


针对上述技术难点,业界在几年前就已经开始尝试解决,并且随着相关技术的进步与架构的演进,目前市面上已经有几类较为成熟的解决方案,比较有代表性的解决方案有以下三种。


1.基于RTMP技术的互动直播


主播方与连麦方分别推一路RTMP流到CDN上,在CDN将两路(或多路)RTMP流合成为一个画面,随后发送给观众(如图5所示)


图 5 基于RTMP的互动直播



优点

主播方与连麦方各路视频都通过RTMP推送到CDN,对于直播而言,延时较短;


②由于CDN进行视频合图和发送,所以主播不需要很高的带宽;


③支持多个连麦方加入连麦。



缺点

①使用RTMP仍然不能解决连麦通话部分延时过高的问题;


②CDN需要进行视频的合图,逻辑较为复杂,需要额外的开发工作;


③CDN需要进行视频的合图,需要消耗较高的服务器资源。


2.基于P2P的互动直播


为了解决直接通过RTMP进行连麦带来的通话延时问题,因此考虑主播方与连麦方采用P2P的方式进行音视频实时通信,然后在主播方将自己和连麦方的视频进行合并,再推到CDN上,通过CDN发送到观众端(如图6所示)。


图 6 基于P2P的互动直播



优点

①主播和连麦方之间使用P2P的实时通信,网络质量较好,延迟较短,保证了两者之间交互不会有非常大的延迟;


②可以解决声音的干扰问题,消除回声。



缺点

①P2P在某些网络下无法穿透,有些连麦方无法与主播方进行交互;


主播方需要上传两路视频,一路以P2P的方式使主播方与连麦方进行交互,一路通过RTMP推到CDN,同时还需要下载一路视频,即来自连麦方的交互数据,因此对主播方带宽要求较高;


③主播方要对多路视频进行编码、解码,对主播方设备配置要求较高;


由于网络、性能压力在主播方,因此对连麦方数目支持也较为有限。


3.基于UDP的自定义网络互动直播


通过上述两种方案,可以看到基于TCP协议的方案在互动直播场景下具有较大的局限性,因此,基于UDP协议的SD-RTN(Software Defined Real-time Network)方案应运而生。


SD-RTN提供的是以UDP协议为主的,端到端网络延迟为毫秒级的实时数据传输云服务,通过在现有的公共互联网基础上构建一层新的虚拟网络。通过软件能够实时根据各节点的连接和传输状况、负载状况以及到用户的距离和响应时间,优化路由,选择最优传输路径。与CDN不同,在RTN中,内容直接端到端进行传输,数据在网络单元中不进行缓存,尽最大可能缩短延时。


将一部分网络条件允许的观众也接入到SD-RTN,主播方、连麦方以及这一部分观众在该虚拟网络中,使直播、连麦的延迟可以控制在毫秒级。对于剩下的无法接入到SD-RTN的观众,将主播方与连麦方的画面合成一路直播流,通过RTMP推送到CDN进行分发(如图7所示)。


图 7 基于UDP的自定义网络互动直播



优点

①直播延时从数秒缩短到数百毫秒,与实时音视频通信的水准看齐;


②相比基于TCP的CDN直播方案,抗丢包能力更强。



缺点

①优化和智能调度策略尚不及传统CDN;


②相比较为成熟的CDN方案,成本更高。


随着网络技术的进步以及移动智能终端的普及,作为互联网信息的重要渠道,网络直播技术也在朝着高交互、低延时、智能化的方向发展。低延时互动直播技术有望作为基础能力,成为5G时代的下一个风口。


注:部分图片来源网络,侵权必删!






更多精彩内容


FCC30+

长按左边二维码

关注我们不迷路



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存