直播技术(一) —— 移动直播连麦几种处理方案(一)

版本记录

版本号 时间
V1.0 2018.02.09

前言

直播中的连麦可以增加主播和观众的互动,增强直播类APP的趣味性,增加用户量以及DAU,所以很多直播平台会加入连麦的功能,接下来几篇我们就一起看一下连麦。

连麦直播流程

先看一下直播的连麦流程。

直播技术(一) —— 移动直播连麦几种处理方案(一)_第1张图片
  • 主播正常开始直播,普通观众看到主播的单人直播画面;
  • 需要连麦的观众发起连麦请求,进入连麦申请列表;
  • 主播从连麦申请列表中选择一名或多名观众进行连麦操作,主播与连麦观众进行实时音视频互动,同时互动直播系统生成“合成画面”;
  • 普通观众看到直播画面为包含主播与连麦观众的“合成画面”;
  • 连麦结束,恢复主播单人直播模式。

连麦直播方案

1. 多路RTMP流的实现

实现原理

主播和连麦者都有一路RTMP格式的流推到CDN,CDN再讲这两路流发给观众端,观众端将这两路流合成一个画面,其中包括音频和视频的混合,原理图我就直接盗图了。

直播技术(一) —— 移动直播连麦几种处理方案(一)_第2张图片

优缺点

  • 优点:实现起来简单,主播端压力不大
  • 缺点:
    • 主播与连麦者如果要进行交互,考虑到网络丢包,网络延时和网络抖动的情况,会增大延时,不利于实时交互。
    • 对于观众端需要将两路流进行解码和合成,对于带宽流量消耗很大,同时解码浪费很多硬件资源。

评价

这种如果是手机配置很高,网络很好的情况,还可以,但是对于移动直播来说,网络不好是经常出现的事情,这样就会出现互动无法实时进行的尴尬,所以这种方案一般是不可取的。

2. 主播与连麦者P2P

实现原理

主播端与连麦者之间使用P2P方式进行交互,然后主播端将自己和连麦者的视频进行合并,再推到CDN上,CDN再发送给观众端。

直播技术(一) —— 移动直播连麦几种处理方案(一)_第3张图片

优缺点

  • 优点:

    • 主播和连麦者之间使用P2P,网络质量较好,延迟较小,保证了两者之间交互不会有非常大的延时;
    • 解决声音的干扰问题,消除回声
    • 减小了方案1中的观众端的压力
  • 缺点:

    • P2P在某些网络下无法穿透,有些观众根本无法与主播端进行交互;
    • 主播端需要上传两路视频:一路P2P与连麦者进行交互,一路使用RTMP推到CDN。还要下载一路视频:连麦者P2P发送过来的交互数据。所以主播端要求带宽需要较高,
    • 网络较差时无法进行主播 主播端要进行多路视频的编码、解码,要求主播端设备配置比较高,较差的设备也无法进行主播;
    • 只能支持一个连麦者,不能支持多个连麦者;
    • 由于主播端和连麦者经过CDN合并成一路,因此,不能实现主播端和连麦者视频大小窗口切换。

评价

P2P方式在一定程度上可以解决连麦的问题,但不是最优的。

3. 服务器合成流方案

实现原理

主播和连麦者都将视频推送到CDN中,然后CDN内部对这几路视频进行合图,再将其发送给观众端。

直播技术(一) —— 移动直播连麦几种处理方案(一)_第4张图片

优缺点

  • 优点:

    • 主播和连麦者各路视频都使用RTMP推送到CDN,可以保证延时较小;
    • 由于CDN进行视频合图和发送,所以主播不需要很高的带宽;
    • 由于CDN进行视频合图,所以主播的设备不需要配置非常高;
    • 没有声音干扰问题;
    • 可以支持多个连麦者连麦
  • 缺点:

    • CDN需要进行视频的合图,需要额外开发工作,并且逻辑比较复杂;
    • CDN需要进行视频的合图,需要消耗较高服务器资源;
    • CDN合图后的布局难控制;

评价

不知道有没有CDN支持这种方案。

参考文章

1. 到处都在说直播连麦技术
2. 寻找直播功能差异化,连麦互动直播是如何实现的?

后记

本篇已结束,后面更精彩~~~~

直播技术(一) —— 移动直播连麦几种处理方案(一)_第5张图片

你可能感兴趣的:(直播技术(一) —— 移动直播连麦几种处理方案(一))