前言

随着直播行业的发展,平台玩法越来越多。其中秀场连麦直播玩法人气较高,一方面改变了主播与观众对立的体验,另一方面拉近了主播与观众的距离,对于拉动主播收入平台营收起到了十分重要的作用。在此衍生出来的如PK,付费问答,语音连麦等玩法成为各大直播平台的标配。

本篇文章将分享直播移动端直播连麦的技术实现架构,仅为抛砖引玉,为各位在技术选型时提供一定的思路。欢迎交流。

技术架构

首先从技术架构的角度来说,直播连麦的实现方案大体可以分为三种。这三种方案都是前辈大佬们实践总结出来的经验。在此感谢。

传统直播形式如图所示,是一个主播推流,广播给直播间所有的观众。而所有的观众进入直播间时,去拉去当前直播间主播的流。这里的特征是,一个直播间对应一个主播,并且仅有一路推拉流。

连麦的直播形式如图所示,是两个主播(另一个主播可能是观众)推流,广播给直播间所有观众。而所有的观众进入直播间,并不一定是拉取一个流,一个直播间也并不一定对应的是一个主播,这些区别会在下文展开。这里的特征是两个或以上主播。

1. 基于RTMP协议优化方案

此方案是在原有直播基础上衍生出来的实现方案。主播A和主播B之间通过原有的推拉流路径去拉取对方的流内容。也就是说,主播A在推流同时,拉取主播B的流,主播B推流的同时拉取主播A的流。对于两个主播来说互为对方的观众。此时对于直播间内的其他观众而言,是分别拉取主播A和主播B的流,并展示出来。

可以看出,主播A和主播B之间并无直接连接,而是通过拉取对方流来实现连麦。此方案优点是技术实现相对简单,服务端和客户端可在原有的直播基础上开发,兼容性好。但是缺点也是明显的:理想情况RTMP下的直播延迟大概需要3秒,主播AB之间的互动可能超过6秒,这在实际连麦体验中是相当差的,另外观众需要同时拉取两路流,对于网络要求,流量消耗,性能消耗,时间对齐都是不小的问题。有人提出优化CDN连接方式,优化主播间的节点,增加BGP,在一定程度上可以降低延迟。

在方案1的基础上,我们可以总结出连麦的技术关键点:连麦的主播之间如何保证较低的延迟,提高实时性;主播之间的画面如何进行对齐,合成再统一广播给观众。 在此之上我们需要准备的是两套系统:多人视频交互系统和标准CDN直播系统。

2. 基于P2P协议方案

此方案的实现方式是,主播A和主播B之间通过P2P协议进行音视频连接,正常情况下能够保证较低的延迟,保证主播A和主播B之间的互动。主播A在自己的流内容基础上加入主播B的流内容,统一推向服务端。此时直播间内仅有一路流,并且其他观众也只需要拉取这一路流内容。

此方案的优点是显而易见的,主播AB之间的延迟降低,交互体验好,观众保持原有逻辑不变,拉取直播间固定流地址。 但是缺点是:主播A在连麦过程中需要承担两路推流一路拉流的压力,即拉取主播B的流内容,将自己的流内容推给主播B,将主播A和主播B的流内容推给服务端;主播A的网速压力和性能压力将会巨大,同时主播AB之间一对一的连接也导致扩展性较差,无法满足2人以上的业务场景需求。

3. 基于多人视频通话系统方案

此方案的实现方式是将主播A和主播B的视频交互交由第三方处理,目前比较成熟的技术有视频会议系统和Google开源的WebRTC系统。在此架构下,主播A与主播B的流合成处理上传都是由这个交互系统完成。此方案对于方案2来说减轻了主播端的压力,并且采用UDP协议传输方式降低延迟。同时也兼容多人连接交互。 此方案缺点是对服务端开发量大,要求高。

总结

目前主流实现方案多是基于方案3实现。同时有人提出SD-RTN的实现方案,在我看来此方案是方案3的优化升级版本,采用此方案确实能够降低开发量,但同时也需要付出运营成本,收费与开源选择哪一个还是要看具体的业务场景具体例子具体分析。

多人连麦技术还有许多需要改善的地方。随着技术的发展,未来会出现更优的实现方式,我们拭目以待。

直播多人连麦技术简介相关推荐

  1. 直播多人连麦技术浅谈

    前言 随着直播行业的发展,平台玩法越来越多.其中秀场连麦直播玩法人气较高,一方面改变了主播与观众对立的体验,另一方面拉近了主播与观众的距离,对于拉动主播收入平台营收起到了十分重要的作用.在此衍生出来的 ...

  2. 技术系列课回顾 | 网易云信线上万人连麦技术大揭秘

    导读:本文根据网易云信资深音视频服务端开发工程师陈策在<MCtalk Live#5:网易云信线上万人连麦技术大揭秘>线上直播分享整理. 文|陈策 网易云信资深音视频服务端开发工程师 大家好 ...

  3. 视频直播中用户连麦技术模型与特点分析

    本文章来源与网络(视频直播中用户连麦技术模型与特点分析 - 老头慢慢飞 - 博客园) 随着Web与移动视频直播应用的深度发展,有用户参与互动的视频直播技术被越来越多平台所支持,原来的RTMP流媒体方案 ...

  4. 2023最新语音直播多人连麦社交APP源码+支持双端/附编译安装说明

    正文: 完整标题: 功能介绍: 程序总共1.1GB,功能强大,有兴趣的自行去安装体验吧,其它就没什么好介绍的了 程序: wwergo.lanzoub.com/iInh60swepaf 图片:

  5. 亲加通讯云郝飞:探讨直播低延迟低流量的粉丝连麦技术

    摘要:互动是视频直播中用户体验最好的体验.目前上市场视频直播互动依靠打赏和文字互动,而对于粉丝来说,连麦上镜才是最好的用户体验.本次亲加通讯云郝飞受邀参加ArchSummit微课堂,探讨直播低延迟低流 ...

  6. 虚拟直播实现流程(多人连麦直播互动为例)

    虚拟直播既可以实现单人视频直播,也可以邀请观众上麦.进行多人连麦互动. 虚拟直播场景的直播分为两个阶段: 单虚拟主播直播: 单虚拟主播直播是指主播创建房间后,使用虚拟形象进行音视频直播,观众可以进房观 ...

  7. 网络直播算是计算机技术吗,计算机网络技术与电视直播新闻的融合发展

    摘要:随着计算机网络技术发展的越来越快,许多行业都开始普及计算机网络技术.电视直播新闻作为传统媒体,也开始应用计算机网络技术.随着我国的经济发展速度越来越快,很多人想要在第一时间之内了解国内外新闻,对 ...

  8. 【zz】P2P技术简介—by红瞳

    P2P技术简介-by红瞳 转载自:http://darken99.spaces.live.com/blog/cns!6b19436cd6f6de66!148.entry 点对点技术与点对点协议的区别 ...

  9. “小程序+直播”怎样搅动音视频技术生态?

    ​ 责编 / 王宇豪 策划 / LiveVideoStack 12月26日晚间,微信小程序开放了直播能力,并首先向社交.教育.医疗.政务民生.金融等五大应用场景开放.与原生App应用和基于浏览器的H5 ...

最新文章

  1. 【机器视觉案例】(11) 眨眼计数器,人脸关键点检测,附python完整代码
  2. 启动 nginx 时报错:error while loading shared libraries:
  3. [Android] Android4.0、4.1在手机上制作fastboot线刷包;
  4. python基础总结--- 列表、内置函数(4-5)
  5. EditPlus 技巧大全:[1]怎么配置PHP编译环境
  6. Elastic-job 2.1.3 概述
  7. 【Flink】报错 KryoException ConcurrentModificationException StackOverflowError
  8. (八)用于人脸识别的Web API
  9. Leetcode 100.相同的树
  10. 采用Cloudera-Manager安装CDH时,采用内嵌数据库各数据库用户密码的保存位置
  11. 安装运行jupyter notebook时报错:ModuleNotFoundError: No module named 'prompt_toolkit.formatted_text'...
  12. 关于发那科机器人弧焊指令故障处理
  13. Uipath打包流程为.nupkg文件
  14. 省市定位(省市区三级联动插件Distpicker)
  15. c语言结构体函数传递方式,c-将struct传递给函数
  16. Iterator中的 FailFast FailSafe【学习笔记】
  17. MacOS Mojave/Catalina和Windows安装佳能LBP2900打印机驱动教程
  18. ADP(自适应动态规划)-HDP
  19. Ip2region 离线IP地址定位库
  20. java基础:面向对象编程23-this课后练习boygirl

热门文章

  1. 元宵节趣味知识答题活动小程序
  2. 腾讯云短信发送失败提示1038错误
  3. matlab中sum函数的用法
  4. 『.NET Tools』在.Net Core中实现汉字转拼音
  5. 人工智能学习:倒立摆(CartPole)(9)
  6. matlab中根据一组数据对另一个数组排序的实现方法
  7. Java Web权限管理设计及实现
  8. pdf转ppt乱码怎么办?分享精准PDF转换成PPT转换正确方法
  9. Python 字符串操作和函数
  10. 关于“新基建”与能耗问题的研究