连麦解决方案资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
连麦解决方案资料
1.视频直播连麦服务提供商:
目前市场上做的比较好被多家直播平台打包接入的有声网(agora),即构科技,还有一些小一点公司如国士无双。
2.视频直播连麦定义:
简单来说就是当主播直播期间,可以与其中某一个观众或者几个粉丝进行互动,并且其他观众能够观看到这个互动过程。
3.视频直播连麦互动流程图:
a)主播正常开始直播,普通观众看到主播的单人直播画面;
b)需要连麦的观众发起连麦请求,进入连麦申请列表;
c)主播从连麦申请列表中选择一名或多名观众进行连麦操作,主播与连麦观众进行实时音视频互动,同时互动直播系统生成“合成画面”;
d)普通观众看到直播画面为包含主播与连麦观众的“合成画面”;
e)连麦结束,恢复主播单人直播模式。
4.常见的连麦技术方案:
连麦方案之一: 两路RTMP
1. 主播首先发布视频到流媒体服务器,用户从流媒体服务器拉取视频信息;
2. 其中某个用户希望与主播连麦,他通过信令服务器向主播请求连麦,主播同意连麦请求;
3. 连麦者发布视频到流媒体服务器;
4. 主播端和其他用户获取连麦者发布的视频,在手机端采用画中画形式显示。
优势:
1. 完全基于现有RTMP技术,开发简单,容易实现。
劣势:
1. 主播和参与连麦的粉丝之间的交互延迟太大,基本无法正常交流。
2. 声音效果不好,主播和连麦粉丝之间会产生回波。
3. 客户端接收两路视频,流量消耗高,CPU消耗高。
4. 主播和连麦的时序没有保证,普通粉丝的体验感很差。
结论:基本不能使用,用户体验感极差,实际效果差。
连麦方案之二: P2P+RTMP
1. 主播首先发布视频到流媒体服务器,用户从流媒体服务器拉取视频信息;
2. 连麦者请求连麦,此时主播端会弹出连麦请求,主播选择连麦用户,连麦者和主播建立
P2P 连接;
3. 主播端和连麦者之间建立了P2P 通道,通过此通道进行音视频数据的交互;
4. 主播端本地进行混频和混音,再发送给流媒体服务器;
优势:
1. 主播和连麦者之间的交互延迟小,交互非常顺畅;
2. 可以采用回声消除,声音效果较好。
3. 主播和连麦用了混音和混频,可以同步,对于普通用户的体验较好。
劣势:
1. 主播端有两路视频上传,一路下载,网络要求高。
加大了连麦端的延时。
2. 主播端要进行混频和混音,性能消耗高。
3. 主播和连麦在复杂的网络情况下,P2P有可能不能成功。
4. 不能支持多路混频,扩展性不好。
结论:能达到一定的效果,但是有比较大的改进余地。
连麦方案之三: 视频会议+RTMP
1. 主播端加入视频会议系统;
2. 视频会议系统把主播的视频流推向CDN,观众通过CDN 观看主播视频;
3. 参与连麦的观众登录到与主播端同一个视频会议频道中,此时主播端和连麦者通过实时的视频会议进行交互;主播与连麦者的视频,经过服务端混合后输出给CDN;
4. 其他用户通过CDN 观看主播与连麦者的交互;
优势:
1. 通过视频会议系统,主播和连麦者之间的交互延迟小,交互非常顺畅;
2. 采用回声消除,声音效果较好,采用混频,同步效果好,对于普通用户的体验较好。
3. 对于主播端的性能要求不高,对于网络的适应性更好。
4. 支持多人交互,可扩充性好。
劣势:
1. 服务端相比于一般的直播系统,还多增加了视频会议系统,开发复杂性高;
2. 音视频混合在服务端完成,对服务器性能要求高;
结论:能达到最好的效果,对于服务要求比较高的厂商的推荐方案
5.声网连麦介绍:
全球首个基于 UDP 的直播SDK,只有毫秒级的延迟,10000 人语音连麦,7 人视频连麦。
官网:http://www.agora.io
声网连麦的基本架构图:
声网连麦的主要特性:
声网连麦技术方案解析:
声网Agora.io,在开发互动直播解决方案时,抛弃传统的基于TCP协议的CDN方案,从底层协议和布网上开始,创建了基于UDP协议的SD-RTN方案。
(一)什么是SD-RTN
SD-RTN(Software-Defined Real Time Net work),软件定义实时传输网络,是一种新型的专为内容实时传输而设计的网络架构。
通过在互联网上不同地区的数据中心放置软件组网单元,相互连接互相调度,在现有的公共互联网基础上构建一层新的虚拟网络。
SD-RTN 系统能够实时根据各节点的连接和传输状况、负载状况以及到用户的距离和响应时间,自动分配最优、最通畅的传输路径,达到实时传输需要的质量保障级别。
(二)SD-RTN与CDN有何不同
基本原理不同。
CDN是存储转发结构,设计目的是在各个边缘节点缓存待分发内容,结构上从源站到观众是伞状多级缓存放大方式。
SD-RTN本质上一个实时传输网络,用户的数据在网络单元内部和传输线路上都以实时交换方式传送,从而能够保证最低延迟。
底层协议不同。
SD-RTN采用了专为实时传输设计的UDP协议,避免了采用TCP的延时不可控缺点。
能够大大缩短交互延时,延时可从CDN方案的数秒,降低到数百毫秒。
内容分发机制不同。
SD-RTN是基于自定义路由,选择最优传输路径,直接将内容端到端传输,数据在网络单元中从不缓存,从而最大可能的降低延迟,同时内容安全性也更好。
CDN是将内容缓存于缓存服务器中,再将内容就近下发。
使用场景不同。
SD-RTN适用于要求极低时延的实时互动场景,例如网络电话、视频会议、有主播与观众交互需求的互动直播等。
CDN适用于对时延要求不高的场景,例如对延时要求不高、类似电视的单点直播、网站加速等。
若硬要将CDN改造用于互动直播,那么其结构上对降低延迟的不适应性,始终会成为质量改进需求的瓶颈。
(三)SD-RTN相较CDN,有何优点
1、时延大大缩短。
直播延时可从CDN方案的数秒,降低到数百毫秒。
这一延迟范围,属于实时通信或准实时通信延迟的范畴。
在这一级别上,主播和观众可以基本重现在现场活动中的交互体验,从而大大释放了内容制作者的潜力,也为业务运营者创造新业务形式打开了无限的空间和可能。
比如,在这一延迟下,主播和观众可以不光通过文字交互,也可以通过音频实时交互,而不会感到延迟过大而不自然。
这种交互体验,在手机上也更自然,比打字更符合人的自然习惯。
业务运营方当然可以把这一功能当作比文字互动更高级别的特权能力,仅仅对于付费或是一定级别、身份的用户才可以直接和主播语音互动。
业务运营者也可以利用此类功能创造类似课堂,或小剧场的现场互动氛围,让主播可以听得到观众的发问,或是掌声、叹息,甚至嘘声,实现自然的台上台下交互和有沉浸感的互动直播体验。
加上辅助功能,体验上可以任意规定谁可以发声,谁不可以,这中间的可能性是无限的。
更重要的是,即便在一般的连麦直播场景,这样的体验也可以帮助这类低延迟观众(我们称为“近场观众”)在上麦互动的时候实现平滑体验,不用每次切换就黑屏一次,好像节目中断一样。
对于近场观众,即便是在网络较差的时候,基本上能够保证延迟不超过1秒,极少数观众延迟不超过2秒。
相对于CDN,即便在网络质量无问题时,也有3秒以上延迟。
实测网络丢包仅仅10%,就可以让延迟拉大到10秒。
这样的丢包率,在手机的无线信号下可是经常出现的。
所有这些,都要归公于声网SD-RTN的实时传输保障能力。
UDP实现的传输协议,不会因为前一个包的丢失或延迟导致下后续包的延迟送达,而丢包可以用对延迟更友好的方式修复或补偿出来。
不采用这个机制是无法达到这样的延迟保障效果的。
2、抗丢包能力强。
使用声网的技术,30%丢包时,依然能够进行正常直播。
而基于TCP的CDN直播方案在丢包2%时就明显卡顿,达到30%经常已断开连接。
(四)基于SD-RTN的直播架构与特性
下图是声网Agora.io互动直播的架构图
客户端均通过UDP连接SD-RTN(Agora Global Network),通过SD-RTN的就近接入策略,让使用者就近接入质量最好的数据节点,通过Agora Global Network的软件定义优化路由,经过传输延迟和质量优化的最优路径,自动避免网络拥塞,并规避骨干网络故障的影响。
若有常规的长延迟旁路直播需求,则可以将主播与连麦者合成一路直播流,通过RTMP 推到CDN,进行下发。
连接这一路的观众,不能参与连麦互动(称为“远场观众”)。
主要特点如下:
1、可以支持更多的主播交互,目前支持7人视频交互,100人语音交互。
2、当有观众连麦时,其他观众端收到的多路视频,观众端可以动态选择布局。
3、声网Agora.io会将直播视频推送到CDN,其他观众(网页端等)可以直接观看。
4、当有观众连麦时,声网Agora.io会将视频合图后推送到CDN,其他观众(网页端等)可以观看到连麦者与主播的互动。
5、在经过RTMP推流前的观众端,可以进行大小流切换,自主选择视频大小窗口的切换。
声网报价:
6.即构科技连麦介绍:
官网:https://www.zego.im/
连麦特性:
即构科技连麦流程图:
即构科技连麦混流:
混流有两种选择方式
第一:从头开始混,即第一主播选择连麦方式开播,就开始混流,不论是否有第二主播来进行连麦。
第二:只有当第二主播请求要连麦的时候,才开始混流。
1.从头开始混的混流实现图
1.1 若观众播放多流,请参考这个实现图。
1.2 若观众直接播放混流,请参考这个实现图。
刚开始播放混流的StreamID,在publish成功后,要stopPlay混流的StreamID,再次play第一主播的非混流streamID A
2.开始连麦时才混流的混流实现图
7.AnyRTC连麦方案:
了解到AnyRTC连麦方案是基于谷歌开源项目WebRTC改进和设计来的,目前支持最大4人同时连麦,据了解该项目已经代码开源,官网网站和开源地址如下:
官网:https://www.anyrtc.io/
开源地址:https:///AnyRTC/AnyRTC-RTMP
AnyRTC云通讯RTMPC Hybird Engine SDK(简称RTMPC)是一套基于RTMP协议可以进行视频连线的混合引擎,由两部分构成:主播端+访客端。
首先该SDK遵循标准RTMP视频推流拉流协议,完全兼容市场上主流的标准RTMP视频直播服务器及云平台。
与此同时,AnyRTC云通讯创新性实现了RTMP+RTC的技术融合,使用RTC技术实现基于标准的RTMP协议的互动连线视频直播,当然SDK内部囊括了AnyRTC 音视频团队多年的技术积累,在视频处理、硬件加速、美颜滤镜、音频降噪、码率控制、实时通讯、移动端性能等方面都做了很多的优化处理。
如果是一位需要在产品中需要加入互动连线直播的合作伙伴,只需要几行代码即可完成
对对接流程,无论您是新开发的或者已经有产品上线的需求,RTMPC都能为您定制出最符合需求的方案,简单的说RTMPC不会对您的产品系统架构进行大刀阔斧的修改,完全基于RTMP的方案实现互动连线,绝非市面上的什么基于私有协议、UDP等互动直播方案。
如图所示:主播端和访客端通过RTMP协议继续推流拉流,如果需要进行互动连线直接使用SDK中的RTC功能即可。
AnyRTC主要特性:
RTMPC主要的功能包括如下几个主要部分:
1)RTMP推流拉流
RTMPC本身是RTMP+RTC的混合引擎,支持RTMP推流和拉流功能;
2)RTC视频连线
视频连线功能分为主播端和访客端,连线的控制权限在主播端即接受、拒绝等权限由主播进行控制,访客可以申请与主播进行连线;
3)消息弹幕功能
支持主播/访客发送文本和弹幕消息,支持自定义消息内容;
4)人员状态动态更新
支持当前直播的人员上下线实时动态更新,支持用户自定义人员信息;
5)LOGO水印
在主播端的直播视频上添加自定义水印LOGO。
RTMPC最多支持4人互动,但是不会额外增加带宽消耗及其他的开销;RTMPC之所以称之为混合引擎,因为SDK中同时装配了两套引擎,让这两套引擎同时发挥各自的优势,扬长避短才是RTMPC的真正优势。
8.对战游戏连麦:
国内好多游戏玩家在玩如英雄联盟或者其他游戏时使用较多的是YY语音。
9.各家客户案例:
声网的客户有小米、金山云、陌陌、途牛、乐视、海尔等
即构科技的客户有花椒直播、映客直播、tt语音、金山云、腾讯云、阿里云等国士无双的客户有陌陌、哈你直播、微辣直播、华为、阿里巴巴等
AnyRTC的客户有慧直播、极秀、咪咕、橙子直播等。