接触过直播的,想必对“互动直播”都不会陌生,但对它内在的实现原理就会存疑。
其实很简单,“互动直播”的核心其实就在于连麦技术,比文字会更有魅力的交流形式,在视频直播互动软件开发实现过程中,和连麦技术有着不可分开的密切关系。小编今天就给大家普及下有关“互动直播”下的连麦技术。
互动直播中连麦的实现流程
众所周知,主播开启直播间,用户端看到的是主播直播画面,此时我们可以定义为“单向直播”,意思是主播单方面向观众输出内容。但如果有用户向主播发起了互动连麦,主播接受了连麦请求,意义就变了,因为连麦操作的导向是主播与用户间的音视频互动,此刻对于用户而言,接收到的内容则为主播和连麦观众的混流画面。发起连麦通常有两种方式,一种是主播主动向观众定向发起连麦,另一种则是用户向主播发起连麦请求。而互动直播发展至今,不再是单一的主播与用户间的连麦,主播与主播之间也可以进行连麦送礼PK。
互动直播中的“旁路直播”概念
旁路直播是基于互动直播高并发场景下的解决方案。主播与用户进行互动连麦的混流音视频内容,需要借助于CDN实现分发业务,通过CDN分发的直播内容,用户在进行观看时则可以看作是“旁路直播”。这也是互动直播平台搭建部署时用到CDN的一个重要原因。对于互动直播这种面向众多用户群体的公共服务,必须能够让处在不同地区的用户在同一时间接收到相同的直播内容,低延时是关键因素,CDN的多节点恰恰可以降低互动直播延时。
基于RTMP与CDN的互动直播方案
现如今在互动直播软件开发中,RTMP协议的使用较为广泛,绝大多数互动直播平台也是基于RTMP协议和CDN技术前提下实现连麦的。当主播与用户进行连麦时,会基于RTMP协议,分别将主播端和连麦用户端的流推到CDN,通过CDN将两路视频流推送到观众端,观众端将两路视频流混合后形成一个画面进行播放。这个方案实施起来非常方便简单,接入成本也较低,因此广泛适用,但这一方案也有其缺点。
1.虽然RTMP协议可以将直播延时控制在5s以内,对于观众端来讲基本感觉不到延时问题的存在,但对于连麦的双方而言,在进行互动时会明显感觉到延时,互动直播体验欠佳。
2.主播在与连麦者进行互动时,会有回声,这也是比较常见的问题,目前来看这一问题还是很难解决的。
3.我们常常听到互动直播平台运营者抱怨,说带宽、流量费支出高,本身通过CDN进行分发就消耗很大的流量了,何况是占用两条视频流的互动连麦直播呢?
当然,我们讨论这些问题的最终目的,还是为了能够提供一个互动直播软件开发中关于连麦实现的合理解决方案。基于上面提到的RTMP协议与CDN技术下的互动直播方案,我们可以结合私有UDP协议下的解决方案,用于不同场景下的互动直播实现。
如果已有庞大的用户基数,必须要适应高并发,那么采用RTMP与CDN技术下的解决方案,想必是最佳选择,毕竟我们还是要兼顾大多数观众端用户的观看体验的。但如果对并发要求没那么高,反而对直播连麦要求较高或是对直播延时要求较低,例如一对一视频聊天交友,内部会议培训等应用场景,则可以采用私有UDP协议解决方案。像依靠语音连麦起家的YY,则是在直播业务中使用UDP传输协议。
小编说了这么多,其中归根结底还是需要大家依据自身的直播平台,去制定合理的解决方案才能采用更加合适的连麦技术协议。
原文地址:https://blog.51cto.com/14318279/2415313