毫无疑问直播是当前移动互联网最热门的领域之一,在超强热度的引导下直播领域也吸引了大量的商业资本。在各大直播应用万花齐放的时刻,也正是直播应用面临的真正风口。站在这个风口上,直播应用只把握好风向标,推出具备高用户粘性的差异化功能,才能在这个不断推陈出新的时代站稳脚跟,获得不可动摇的地位。
《连麦互动直播方案全实践》系列文章基于网易云信的摸索和实践,从场景、流程到方案、架构,对直播体验深度优化方案——“连麦互动直播”进行了全面的讲解和介绍。
相关阅读推荐:
连麦互动直播方案全实践1:什么是连麦互动直播?
连麦互动直播方案全实践3:网易云信连麦互动的实现方案
《连麦互动直播方案全实践》系列第一篇文章介绍了什么是连麦互动直播,现在我们来看一下网易云信在连麦互动直播方案的演变过程。我们从2015年年初就开始研究连麦互动直播技术,提出了一个在主播客户端合流的方案。后来随着移动端直播的快速兴起,我们在老方案的基础上,迭代推出了一个新方案,也就是服务端合流方案。
接下来我会为大家详细阐述这两个方案的具体实现方式,并且分析各自的优势、劣势以及适用的场景。
主播端合流方案
首先我们来看一下老方案,我们称之为:主播端合流。
传统的直播流程是:主播客户端采集并编码音视频数据以后,直接使用RTMP协议推流到CDN,其它观众使用对应的拉流地址向CDN拉取音视频流。
该方案我们不改变由主播来推流这个架构,只是在主播需要与观众连麦互动时使用实时音视频系统来进行主播和观众的实时互动连麦,通过实时通话通道主播端收到观众端发送的音频和视频数据,主播端将自己的声音和观众的声音做混音,并将自己的画面与观众的画面做视频合成,最后主播将混合的声音和画面推流到CDN流媒体服务器。通过这种方式就实现了观众与主播的连麦互动直播。
那么这个方案有什么优缺点呢?
由于上述两个问题,该方案并不是移动端上连麦互动的最佳方案。
为了解决这两个问题,我们团队用3个月时间来做技术攻关,设计并开发了一个替代方案。
服务端合流方案
这个全新的连麦互动直播方案,作为优化替代方案,方案的关键是:主播不再直接推流到CDN流媒体服务器,而是基于实时音视频通话系统,由实时音视频的中转服务器转发给互动直播服务器,再由互动直播服务器处理后推流到CDN流媒体服务器,互动直播服务器是我们为方案二全新研发的一个服务器。
音视频实时通话系统,可以实现多人的实时互动,而且多人模式下所有的数据包都是通过音视频中转服务器中转。此时如果观众需要与主播连麦互动,只需要让观众加入到实时音视频的房间中,音视频中转服务器在转发给房间中其他客户端的同时,转发一份到互动直播服务器,互动直播服务器对收到的语音进行混音,同时对视频画面做混合处理,处理完毕以后再推流到CDN流媒体服务器。
通过这种方案,将方案一中由主播端做的混音混合及推流操作,转嫁由互动直播服务器来承担。对于普通观众不需要其它额外的处理逻辑就能在原来的拉流地址上拉取到连麦互动的直播画面。
那新方案有哪些优点?
简单的提一下,有些APP使用不同与上述两种方案的其它方案来实现连麦互动直播。也就是主播和连麦者分别发送一路RTMP流到CDN服务器,观众端通过分别拉取主播和连麦者的两路流来实现连麦互动直播。
这个方案的问题是:RTMP协议延迟很高,一般至少在3秒,主播和连麦者之间使用RTMP协议来做连麦互动,互动的实时性是不可接受的。同时普通观众要拉取两路流,功能流程会变得复杂,同时还增加了普通观众的下行压力。
由于这两个问题,该方案不是一个合格可行的低延迟连麦互动方案。