实现连麦_直播连麦技术方案对比及测试方法

eca3880874a320c304c581b72b4b118c.png

2016年陌陌、映客等直播平台陆续上线连麦,如今连麦已经成为主流直播平台标配。声网于2016年全球率先推出的多人连麦、纯语音连麦等多种玩法,半年时间内,就与几乎所有全球主流直播平台达成深度合作,如陌陌、花椒、触手、视吧、KK、荔枝FM、咸蛋家,Meetme,Flurry Live,Livestar,Yalla等等。

从技术架构上来说,目前市场上存在的连麦方案有三种:

三种连麦方案

SD-RTN™

91f429a8f74be7f3af097ae4f42582f3.png

这是声网的连麦架构,直播连麦的鼻祖。基于UDP,主播端、连麦端、观众端都在基于SD-RTN™进行实时通信,大大降低延时。主播端和连麦端也可以转码到CDN推流。

RTMP改进方案

72e25c9ac360d1416066fe0b1e346a18.png

基于TCP协议,基本思路是:主播接受连麦嘉宾的视频,在本地合图;主播和连麦嘉宾的视频同时传到服务端合图,然后通过CDN推到观众端。

WebRTC改进

dd14ef333641b8f21f3f4761987c4bbd.png


主播和连麦嘉宾,基于WebRTC进行“视频会议”,将“视频会议”在服务端合图后推到CDN进行分发。

三种不同的架构,在连麦表现上,有独特指标来区隔

1. 低延时

连麦中,最重要的元素,就是低延时。连麦的本质是视频通话,而视频通话最重要的指标就是延时。只有低延时,主播和连麦嘉宾之间,才可以较好的互动、交流。根据ITU-TG.114标准,单向通话延时大于150ms就可受到通话连续性受到影响,最大可容忍时延为400ms。

  • SD-RTN™方案,基于UDP。SD-RTN™包含了编解码方案和服务端的传输方案。声网的私有专利编解码是面向互联网传输的编解码,能够保证高清晰度、低码率,并且会根据网络状况,自动调节码率。服务架构SD-RTN™是全球部署,全球部署有近100个数据中心。客户端均通过UDP连接SD-RTN™,通过就近接入策略,让使用者就近接入质量最好的数据节点;通过智能路由,经过传输延迟和质量优化的最优路径,自动避免网络拥塞,并规避骨干网络故障的影响。所以,SD-RTN™在跨国传输、海量并发、高可用方面有独特优势。
  • RTMP改进方案,基于TCP,由于TCP的传输机制导致天然的延时不可控。全球最大的CDN服务商,Akamai前几天就在GMIC会议上表示,要基于WebRTC技术来来升级现有CDN技术。显然Akamai意识到CDN方案在突破低延时方面的瓶颈。
  • WebRTC改进方案,基于UDP。WebRTC对Chrome浏览器有极好的支持,但在Native支持方面先天不足。WebRTC方案最大的不足是,只包含编解码方案,缺乏服务端解决方案。因此,选择此方案的同学注意了,一定要重点考察此方案在海量架构、高并发、弱网环境下的表现。

2. 音画同步

由于音频和视频不同采集、传输处理,会有很大程度上存在音画不同步的问题出现,这是一个比较严重的问题,观众端看到主播的动作,才听到声音;或者先听到声音,才看到动作,或者说话口型对不上,会感到很奇怪。

3. 卡顿率

卡顿是指两帧视频间隔超过一定时长,观众的直观感受就是画面卡顿。一般情况下,视频连麦中,比较常用的是把两帧之间的间隔大于400ms-600ms的看作一次卡顿 。如果卡顿次数过多,是非常影响正常连麦体验的。

4. 画质

直播中,主播都希望自己美美的,画面清晰是基本要求。

在给定的码率下,清晰度和分辨率有关系。如分辨率过低,则画面模糊,细节丢失;如分辨率过高,则失真明显。在分辨率够用的前提下,分辨率和清晰度成反比。在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。

声网的私有专利编解码能够在低码率下保证高清晰度,并且会根据网络状况,自动调节分辨率和码率,使编码器运行在最佳分辨率下。开发者也可以通过接口,选择清晰度优先还是流畅度优先。

5. 延展性

直播是一个高度竞争的行业,玩法在不断的改变。从声网全球首个推出多人互动连麦,到现在连麦成为直播的标配,只用了不到1年的时间。更多的玩法和功能的出现,是市场在推动技术进步,同时也是技术进步在推动市场发展。声网现在在连麦的玩法上又拓展了一个新功能,跨直播间连麦。不同房间的主播可以进行连麦,穿透了之前一个房间就是一个频道的屏障。

要实现丰富的延展性,必须从底层架构设计上就有高度灵活性,类似声网的创新架构SD-RTN™。RTMP改进方案是基于存在了十多年的CDN方案进行改进,很难有大的突破。WebRTC在Native方面和服务端架构方面的短板,也造成了改进成本非常高。

基于以上几个指标,接下来讲如何测试连麦的效果。

如何测试连麦的效果

连麦的效果指的是:延时如何,卡顿频率如何,画质是否清晰。不能接受的是:卡屏、绿屏、花屏、断线。

设置视频属性

主播A设置:选择640x360,15fps,800kbps,其他设置选择默认

辅播B设置:选择320x240,15fps,300kbps,其他设置选择默认

设置丢包率和带宽

在用户的实际使用场景中,常常会有网络卡顿的情形,背后的原因可能是网络的丢包率高和带宽不足。通常,测试连麦需要用到网损仪来设定不同的丢包率模拟真实网络环境。但是,如果没有专业的网损环境,iOS自带网损模拟器也可以做简单的丢包和限带宽测试。设置方法见《WebRTC音视频方案自测教程》

测试流程

1台iPhone6作为主播,1台iPhone6作为辅播,主播的前置摄像头尽量接近以获取相同的摄像头输入。如果同时测试两种连麦方案,那么就是2台iPhone6作为主播,2台iPhone6作为辅播。

4台iPhone6的屏幕输出通过Blackmagic Multiview拼接为一路4k信号,送入4k显示器显示且录制。录制出来的成品,就像下面这个视频,这是声网和行业其它连麦方案的对比。通过观看录像,可以直观的观察到首帧出图时间、成像质量、卡顿、延时。

直播连麦对比测试—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMjc1Mzg5MTE0OA==.html?spm=a2hzp.8253869.0.0#paction

左侧是声网,右侧是行业其它方案。第一排是主播端,第二排是连麦端。通过秒表可以直观的看到延时。通过地球仪的转动,可以看到卡顿情况。整体观看,可以看出清晰度的差异。

测试结果

这是一个报告模板,其中,卡顿指的是:视频两帧间隔>600ms,次数是按5分钟总时长来统计。按照上述步骤,你自己也可以出一份这样的报告。

f0ff76413a5cbcf32c9ed10287ea1b39.png

【本文作者】

单辉 声网http://Agora.io 高级开发工程师。欢迎访问 RTC 开发者社区,与我们的工程师及更多开发者交流。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
新版语音直播社交app源码多人连麦聊天双端app源代码是为开发者提供的一套用于创建语音直播社交应用的源代码。这个应用支持多人连麦聊天,可以让用户在直播中进行实时语音交流。 这套源码提供了双端的app源代码,即同时支持iOS和Android操作系统。开发者可以基于这套源代码进行二次开发,根据自己的需求和设计理念进行定制。 在这个应用中,用户可以通过注册账号并登录,创建属于自己的个人资料。用户可以关注其他用户,并收听其直播内容。用户还可以发起直播,与关注自己的粉丝进行实时语音交流。同时,该应用支持多人连麦聊天,可以与多位用户同时进行语音互动。 这套源码提供了丰富的功能模块,例如用户管理、关注系统、直播管理、连麦聊天管理等。开发者可以根据自己的需要,快速集成这些功能到自己的应用中。 在开发过程中,开发者还可以对界面进行定制化设计,包括颜色、字体、按钮等。源码还提供了丰富的API接口,方便开发者与服务器进行交互,获取用户信息、直播内容等。 总之,新版语音直播社交app源码多人连麦聊天双端app源代码是一个强大且灵活的开发工具,可以帮助开发者快速搭建语音直播社交应用。无论是用于个人娱乐、商务交流还是其他目的,这套源码都可以满足开发者的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值