一、概述

连麦:是指直播带货app源码中,由观众向主播发起连线请求,在主播和该观众之间建立低延迟的通讯链路,而其他观众可以看到“主播+连麦观众”的合成音视频内容。
PK:是指直播过程中,由主播发起,选择与其他主播进行PK,主播间建立低延迟的通讯链路,在所有观众方可以看到两个主播的合成音视频内容。

二、产品形态及流程

2.1 连麦

¬ 主播端根据等级,确定发起的直播间是否可以接收观众的连麦请求;
¬ 播放端根据等级,确定观看直播时是否可以发起连麦请求;
¬ 播放端发起连麦请求后,需排队等待麦序,及等待主播响应后才能开始连麦;
¬ 主播端或连麦观众主动结束连麦,主播结束直播或连麦观众退出直播间,结束连麦。

2.2主播PK

¬ 主播创建直播,选择PK模式;
¬ 挑选PK对象(好友或系统随机匹配);
¬ 开始PK;
¬ 任一主播退出PK,结束。

三、方案选择

实际上,直播带货app源码连麦与PK在即时通讯部分的基础技术基本一致。但如何实现即时通讯,则有不同的方案。其差别主要体现在使用何种协议,是否对采集到的不同音视频进行混流,以及如何混流。

3.1 协议选择

a) RTMP,商业CDN广泛支持的一种协议,延迟相对较大。
b) RTP,WebRTC基于该协议通讯,延迟较小,但商业CDN不支持,业内使用较多。
c) 私有协议,延迟小,整套协议规范及传输方式、部署都需自己实现。

协议名称 传输层 延迟 CDN支持 开发难度
RTMP TCP 大,1-3s 广泛
RTP UDP 小,<1s 需自己部署
私有协议 UDP 小,<1s 需自己部署

总结:直播带货app源码移动端保证较小延迟,应尽可能采用UDP传输,但由于商业CDN一般仅支持RTMP,所以推送到CDN需使用RTMP。

3.2 混流技术

a) 不混流,是指主播或连麦用户的直播流,直接推送到CDN。播放端拉取多路直播流,分屏同时渲染。

b) 主播端混流,是指在主播端拉取另一主播/连麦观众的直播流后,本地进行音视频合成,然后封装成RTMP格式推送,播放端可以兼容旧播放器。

c) 服务端混流,是指在直播带货app源码服务端将直播流解码,进行音视频混流后,再次编码,以RTMP流格式推送到CDN,播放端兼容旧播放器。

方案 瓶颈 播放端 延迟 下行带宽 体验问题
不混流 带宽 需重新开发 成本翻倍 可能两路流不同步
主播端混流 主播端性能 兼容性强 很大 不变 主播端手机发烫,上行带宽不够,延迟过大
服务端混流 服务端资源 兼容性强 不变 中等

总结:
1).混流的过程中,由于要同步多路流的进度,考虑到网络抖动,相较于不混流的情况,延迟会增大,但下行带宽减半;
2).不同混流方案中,主播端混流不适用移动直播场景(将性能瓶颈分布到各个主播设备上,系统资源消耗少,但延迟很大,主播设备不稳定),服务端混流可能会消耗大量计算资源(由于服务端解码为冗余工作,且集中混流)。
3).整体而言,播放量较少场景下,直播带货app源码可采用不混流方案,播放量较大可采用服务端混流方案。
声明:本文由云豹科技转发自littleRabbit博客,如有侵权请联系作者删除

直播带货app源码,实现直播连麦和PK相关推荐

  1. 直播带货app源码搭建,从直播CDN原理说起

    到处都在谈直播,直播带货app源码技术目前越来越大众化,但也面临着更多的挑战.本次分享主要介绍直播的一般流程,CDN的技术原理及架构,CDN直播技术的难点和对应的解决方案.希望能够给大家带来帮助,更希 ...

  2. 实现一个小程序端的直播带货app源码

    直播组件的使用 配置直播 直接在app.json中引入插件 "plugins": {"live-player-plugin": {"version&q ...

  3. 直播带货app源码,实现直播的秒开和优化

    一.概述 目前,移动视频直播正处于一个高速膨胀的时期.游戏直播,秀场直播.直播带货app源码等APP铺天盖地.如何在千军万马中脱颖而出,直播的实时性和流畅性是重中之重. 直播带货app源码的实时性对于 ...

  4. 运营级手机直播平台源码 短视频直播带货APP源码

    短视频直播带货APP源码 全开源原生直播APP源码 前端:原生APP 安卓端:Java 苹果端:OC 后台:PHP 数据库:Mysql 技术框架:Thinkphp5.1 系统特色功能包括:礼物系统:提 ...

  5. 直播带货app源码,用代码来实现全屏

    直播带货app源码,代码实现全屏用到的相关代码 Window window = getWindow();requestWindowFeature(Window.FEATURE_NO_TITLE);if ...

  6. 直播带货app源码,android 全透明式状态栏

    直播带货app源码,android 全透明式状态栏实现的相关代码 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){//半透明头部状 ...

  7. 小程序直播带货app源码直播组件接入指引

    小程序直播带货app源码直播组件接入指引 一.简介 小程序直播带货系统,是微信提供给小程序开发者的直播组件.通过调用该组件,商家可以在直播带货app源码中实现直播功能. 按下面的使用说明接入,在你的直 ...

  8. 直播带货app源码,进行直播平台的环境部署

    直播项目环境部署 最近总是接到直播带货app源码的开发,在环境部署的过程中踩了不少坑.现在我将环境部署的完整教程分享给大家. 一 .搭建前期准备 注:操作系统centos7.0以上 64位,直播带货a ...

  9. 短视频直播带货app源码, 一套系统刷视频购物都能用

    电商行业的发展,人们的购物方式悄悄的发生了细微的变化,越来越多的人更喜欢边刷短视频边购物,短视频带货源码平台应运而生,那么直播带货开发优势有哪些呢? 短视频电商优势: 一. 带货不只是直播 各类带货系 ...

最新文章

  1. 【S1官方核心】18128核心纯净雅黑H大全力打造的1.9精品
  2. 10061 mysql,Navicat无法连接到MySQL server的10061错误
  3. Linux下profile和bashrc四种的区别
  4. 精选30道Java多线程面试题
  5. 【APICloud系列|18】上架Android应用到腾讯应用包、百度手机助手、华为应用市场、小米应用商店、阿里应用分发平台需要准备哪些材料?
  6. vsCode 设置vue 保存自动格式化代码
  7. python模块导入_python模块导入
  8. PHP数据结构之四 一元多项式的相加PHP单链实现
  9. 4.3 深层网络中的前向传播
  10. BigDecimal.divide方法
  11. 经典机器学习系列(八)【支持向量机】
  12. Springboot集成JavaMailSender发送邮件
  13. 基于bootstrap的双边栏选择框_iphone自带Dock栏美化功能,你out了
  14. 浏览器对URL的长度限制
  15. 在VirtualBox安装Ubuntu虚拟机实现文件夹共享
  16. android 得到屏幕尺寸 状态栏尺寸 标题栏尺寸
  17. 欧几里德游戏(归纳总结)
  18. ENVI处理高分一号PMS影像数据
  19. DappRadar x BGA 7月链游报告:链游占行业用量近60%,融资额降至3亿美元
  20. C#查找Excel重复值(多列)

热门文章

  1. 域组策略与本地组策略
  2. 如何用Python给图片添加文字/图片水印的方法,特别简单好用,filestools和Pil模块
  3. 怎么让热图显示基因名_教你画一个掰弯的热图(Heatmap),展示更多的基因表达量...
  4. 力扣(LeetCode)236. 二叉树的最近公共祖先(C语言)
  5. 2012-03-16
  6. 测试POST传输工具【poster】。
  7. wps excel 中将一行多列数据转换为一行两列的格式 的方法函数
  8. NUnit2.0详细使用方法 选择自 cyp403 的 Blog
  9. 互联网寒冬!一线互联网移动架构师筑基必备技能之Java篇,附带学习经验
  10. php 计算工龄,excel如何计算工龄