什么是连麦?
了解移动直播带货开发连麦的实现架构,需要定义一下参与的角色,首先介绍客户端(如图1),按用户在连麦直播中的角色差异分别定义为:主播、连麦者(粉丝)、观众。


主播,指当前正在直播的主播,相当于主持人,可以主动邀请用户连麦或批准当前观众的连麦请求,也可以关闭某个连麦者的连麦;主播端视频一般都是全屏显示。

连麦者(粉丝),指参与当前连麦的观众,可以向主播申请连麦,或接受主播的连麦邀请,进行音视频连麦,当不想连麦后,连麦者可以主动断开;连麦者的视频一般只在右侧的某个区域显示,视频尺寸较小,以不影响主播视频显示为好。

观众,是移动直播的观众。

下面介绍下直播带货开发的结构,为简化模型不考虑数据存储及各类型服务器集群的情况,仅描述移动直播连麦所需要的最简单服务器类型,如图2:


服务器集群,用于管理主播和主播、主播和连麦者的连线会话,实现音视频云端的调度和计算能力,具体会包括信令服务器,流媒体服务器集群等。

CDN网络,接收主播和连麦者发送过来的媒体数据,提供缓冲,存储和转发的能力,分发直播内容给观众。

下面介绍其特点,与主播的单向直播相比,连麦实现的技术难点增大很多,具体如下:

音频混流,主播将自己的声音与连麦者的声音做混音。

视频混流,主播将自己的画面与连麦者的画面做视频合成。

降噪,在直播带货开发去除直播环境中的噪音,啸叫。

回声消除,消除扬声器和麦克风的近端回声。

低延迟互动,延迟抖动500ms~800ms之间,直播带货开发中保证主播和连麦者之间能够实时音视频互动。

主播与粉丝间的连麦互动场景

参与移动直播连麦的架构中共涉及4个角色,分别是主播、连麦者、观众和服务器。从移动直播连麦互动场景中的角色来分析,包含2种角色间的连麦:

主播与粉丝连麦
主播与连麦者连麦,主播可以与其中的一位粉丝或多位粉丝互动,并且其他粉丝可以观看这个互动的过程。连麦互动这个功能瞬间可以提高直播平台普通用户的参与感与幸福感,增加用户粘性。

主播与其他主播连麦
主播与其他主播之间连麦,主播之间需要连麦互动拉人气,互相增加粉丝,带动主播间的粉丝、经济双赢。

理论上来说,这4个角色都可以在直播带货开发中,负责音频视频的混流,即实现连麦的合成功能,从而确保每个观众看到连麦后的视频和听到音频。从成本角度考虑,在服务器端混流观众端延迟大,成本比较高,不具优势。我们只讨论主播端混流和观众端混流的两种方案。

主播与粉丝间连麦互动的解决方案:

主播端混流
该实现思路要求主播分别把自己的视频数据与连麦粉丝的视频数据合成,然后把合成好的视频流、主播自己的的音频数据、连麦粉丝的音频数据推给CDN网络,并经由CDN分发给所有观众。故主播端手机负担的任务更重,对手机性能和网络性能要求也比普通直播时更高一些。主播与粉丝连麦,主播端混流部分的基本流程如图3所示:

·
主播、粉丝建立连麦会话后,均向CDN网络推原始音视频流。主播、连麦者从CDN网络获取对方的媒体数据。

主播从CDN网络拉取连麦者的音视频数据后,在主播端进行相应的混流工作。一方面用于自己的视频显示和声音播放,另一方面发给CDN网络,用于观众端拉流观看;连麦粉丝拿到主播视频、音频,进行回声消除、降噪等工作,用于自己的视频显示和声音播放。

主播把自己的视频数据、连麦粉丝的视频数据进行画面合成,替代主播原始流的视频画面,并将主播自己的音频数据、连麦粉丝的音频数据推到CDN网络,用于观众端拉流观看。主播进行的混流工作包括:画面合成、回声消除、降噪、混音。

观众端拉取主播端混合好的1路视频数据、2路音频数据后,观看合成画面。观看到的混流画面:A大窗、B小窗,如下图:


主播与粉丝连麦,主播端混流方案的优劣势:

劣势:主播端压力大,主播端需要视频混流以及面对计算压力,对手机性能和网络性能要求也比普通直播时更高一些,不适合多人连麦。

优势:解决上行带宽瓶颈,推1路视频流,不存在主播端上行带宽瓶颈;成本低,它在两个方面降低成本:计算资源和网络带宽;

观众端混流
该实现思路要求观众分别拉主播、连麦者的音视频数据,然后在观众端进行混流工作。主播与粉丝进行连麦,观众端混流的部分的基本流程如图4所示:


主播、粉丝建立连麦会话后,均向CDN网络推原始音视频流。

主播、连麦者从CDN网络使获取对方的媒体数据,在自己端进行回声消除、降噪等工作,用于自己的视频显示和声音播放,并发送自己的音视频数据给CDN网络以便观众端拉流并进行响应的混流工作。

观众端拉取2路视频数据、2路音频数据,并进行相应的混流工作。其混流工作包括:画面合成、回声消除、降噪、混音。

观众端混流后,观看到的混流画面:A大窗、B小窗显示。

主播与粉丝连麦,直播带货开发在观众端混流方案的优劣势:

劣势:观众端压力大,观众需拉多路流进行混流,观众端的下行带宽压力大; 解码压力大,观众需解码多路流,开销比较高;

优势:简单易实现,可以快速搭建;支持多人连麦;

主播与主播间的连麦互动解决方案

观众端混流
该实现思路要求观众分别把拉取所有连麦主播的音视频数据,然后在观众端进行混流工作。主播与主播连麦,观众端进行混流的基本流程如图5所示:


主播与主播建立连麦会话后,主播均向CDN网络推原始音视频流。

主播均从CDN网络使获取对方的媒体数据,在自己端进行回声消除、降噪等工作,用于自己的视频显示和声音播放,并发送自己的音视频数据给CDN网络以便观众端拉流并进行响应的混流工作。

观众端拉取2路视频数据、2路音频数据后,进行相应的混流工作。其混流工作包括:画面合成、回声消除、降噪、混音。

观众端混流后,观看合成画面。如果A主播与B主播在连麦前,C1作为A主播的观众,C2作为B主播的观众,连麦后,C1观看到的混流画面:A大窗、B小窗,C2观看到的混流画面:B大窗、A小窗。

主播与主播连麦,观众端混流方案的优劣势:

劣势:观众端压力大,观众需拉多路流进行混流,观众端的下行带宽压力大;解码压力大,观众需解码多路流,开销比较高;

优势:用于直播带货开发,简单易实现,可以快速搭建;支持多人连麦。

声明:本文由云豹科技转发自科技峰行者博客,如有侵权请联系作者删除

直播带货开发,实现主播和用户连麦的方式相关推荐

  1. 出海品牌直播带货:虚拟主播的优势与挑战,以及未来趋势揭秘

    随着全球化的发展和网络技术的进步,海外直播带货成为了品牌拓展海外市场的一种新方式.而在这个数字化时代,虚拟主播的出现给海外直播带货带来了全新的可能性. 在传统直播带货中,品牌需要派遣代表或明星代言人亲 ...

  2. 直播带货开发,获取这个礼拜的开始、时间

    直播带货开发,获取这个礼拜的开始.时间相关的代码 /*** 获取这个礼拜的开始和结束时间* @return*/ public static Map<String, String> getD ...

  3. 直播带货之——薇娅的女人用户群运营

    薇娅利用淘宝直播这个巨大流量入口,获取公域流量,再利用微信生态(公众号)反复触达粉丝,让消费者们无论在淘宝也好,微信也好都能够得到薇娅的关照,只要流量进了薇娅的地盘,流量就会被圈养起来,好吃好喝(各种 ...

  4. 直播带货中被禁播,我是触犯了哪些直播规则丨国仁网络资讯

    很多人在直播时,刚开播不到几分钟就被断播了,或者被禁播了,有的禁播几天,也有的被永久禁播的,其实所有的这些都是因为你触碰了直播规则,导致被处罚. 许多主播眼看着自己的直播间气氛逐渐带动起来了,产品要卖 ...

  5. 微信视频号打造带货闭环:主播叫苦连天

    我是卢松松,点点上面的头像,欢迎关注我哦! 昨天有赞发布了这样一条公告,大意是,视频号停止和第三方合作了,以后只能用视频号自己的带货中心.同时,很多主播帐号也收到了通知,要求缴纳保证金.保证金从2W- ...

  6. 明星直播带货的平台都有哪些功能?

    在如今的共享经济时代,社交型电商一直走在发展前沿.很多软件开发商看到其中的商机,想制作一种专门适用于此类营销模式的软件,于是开始搭建直播带货平台.这种系统的出现,配合上专业的主播解说和表演,可以让商品 ...

  7. 抖音账号如何打造,抖音直播带货怎么做:国仁楠哥

    用户在哪里,哪里就是红利.随着抖音短视频的兴起,直播带货也成为各大企业网红创收的重要途径了. 抖音带货,已经成为众多用户玩抖音的重要原因之一. 那么,怎样才能抓住时代的机遇,创造出爆款抖音号呢? 1. ...

  8. 抖音直播带货怎么选品?抖音直播选品的方法和技巧有哪些呢?

    抖音直播现在已经非常火了,但我们依旧可以相信未来会有更大的规模,更多的人参与到直播带货.对于主播来说直播选品是非常重要的一个环节,直播带货怎么选品?抖音直播选品的方法和技巧有哪些呢? 1.直播间选品分 ...

  9. 抖音直播带货选品怎么做?怎么排品组货才能提升商品转化?

    想做好抖音直播带货,产品是核心,但大部分人不重视货品的重要性,而是绞尽脑汁的追求各种玩法和套路,最终都会因为供应链问题,死得很惨. 选品是运营的基础,贯穿于运营的始终.选品是重点,也是个难题. 如何根 ...

  10. 抖音直播带货真的那么赚钱吗?如何快速引流爆单?

    想做好抖音直播带货,产品是核心,但大部分人不重视货品的重要性,而是绞尽脑汁的追求各种玩法和套路,最终都会因为供应链问题,效果不佳. 选品是运营的基础,贯穿于运营的始终.选品是重点,也是个难题. 如何根 ...

最新文章

  1. 推荐一个不错的开源在线HTML编辑器
  2. 双面黄琳:世界顶级女黑客,两个孩子的迟钝妈妈
  3. WPF Binding
  4. 分布式文件系统研究-什么是文件系统
  5. 开启防火墙并添加出入站规则
  6. “Scrum 敏捷开发都是骗人的!”
  7. mysql insert优化_如何优化MySQL insert性能
  8. SQL教程1_数据库及SQL语言基础知识
  9. JSON 对比工具,优秀的JSON对比工具,对比json数据
  10. 主板24pin接口详图_24Pin接口再见!华擎推出首款ATX12VO标准的Z490主板
  11. 《东周列国志》第十一回 宋庄公贪赂构兵 郑祭足杀婿逐主
  12. windows 10 笔记本无法连接无线网,显示已关闭
  13. failed to push some refs to 'https://e.coding.net/xxx/xxx.git fetch = +refs/heads/*:refs/
  14. python聊天智能回复_【微信】设置自动回复消息和智能聊天
  15. 华为Mate40 Pro 66w充电器冒火花怎么回事?
  16. 百度自动驾驶巴士开启收费运营
  17. 直流电机 M PWM 调速原理
  18. ibox (bootstrap)
  19. 组态王网页服务器,组态王6.55WEB全新发布详细步骤
  20. ISCC 2019 杂项High起来!(酷爱音乐的你,在听歌的过程中突然收到音乐发烧友发来的一封神秘的邮件,邮件里什么都没有说,只有一个被损坏的图片。这名歌友到底要向你传达什么信息呢?答案或许就隐藏)

热门文章

  1. 【Python】 Python小游戏-贪吃蛇大冒险
  2. 403 Forbidden - PUT https://registry.npmjs.org/- Forbidden
  3. 22478计算机代码,数字2247代表啥意思 2247数字意思
  4. 手动搭建 ReactJS 项目
  5. 4.7开发者日:北极光创投吴峰的投资只管杀不管埋
  6. 用echarts绘制瀑布图
  7. 0基础快速入门CSS技术栈(1)—图解详细阐述初识CSS(附详细案例源码解析过程)
  8. 从零开始的nrf52832蓝牙开发(2)--蓝牙模板解析
  9. C++多线程匿名聊天室(控制台)
  10. xp系统开机自检很久_windows XP系统开机总自检怎么取消