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

0 随着Web与移动视频直播应用的深度发展,有用户参与互动的视频直播技术被愈来愈多平台所支持,原来的RTMP流媒体方案因为延时较多,没法知足即时互动需求,本文提出几种互动视频直播模型(只是想法不表明实际应用中是这样作的)分享给你们,供进一步讨论。服务器

1 P2P网络

1.1 模型图性能

p2p

1.2 说明编码

  连麦用户向信令服务器发送连麦请求,信令服务器通知连麦主用户,若接受,双方向TURN请求各自本端IPTURN端分配好的公网IP,经过信令服务器交换又方的网络信息,双方优先以P2P方式尝试联接对方的公网IP地扯,若超时失败,尝试联接对方在TURN服务器分配的IP与端口号,这时经过TURN服务器中转双方媒体流,保证不管如何P2P都是可成功的,而后连麦主用户混音、混屏后将多媒体流以RTMP方式发送给弱实时流媒体服务器集群,同时发送本端非混音、混屏码流给连麦用户A,连麦用户A切断从弱实时流媒体系统获取音视频流,开始接受连麦主用户的媒体流解码渲染而且同时将本端采集到的媒体流编码后发送给连麦主用户,供连麦主用户端播放输出与混音、混屏。spa

1.3 特色视频

  • 适合单个主播同时与少数(2个左右)用户同时连麦
  • 增长主播端终端性能压力
  • 主要实现集中于客户端,可参考WEBRTC实现
  • 连麦码流采用高实性协议传输
  • 少了服务器中转环节,更低的时延
  • 弱侵入性,对现有弱实时流系统无需大规模改造
  • 不增长服务器带宽流量

server

2.1 模型图blog

client mix

2.2 说明直播

  连麦用户A经过信令控制服务器向连麦主用户请求连麦,连麦主赞成后,连麦用户A向高实时流媒体服务器发送媒体流,同时信令控制服务器向全部观众广播准备好获取连麦用户的媒体流,连麦主播与全部观众端接受到连麦用户A的媒体流后分别解码,转出时若为连麦主用户直接语音直接输出到音频设备而且视频要混屏渲染,若为观众要混音、混屏后输出给音频设备与渲染到屏幕;连麦用户A不须要断开接受连麦主用户的媒体流,跟据须要只混屏或不混屏显示视频便可。集群

2.3 特色

  • 适合多个主播与多用户互动场景
  • 高实时流媒体系统复杂度与耦合性较低,便于扩展
  • 服务器端因为不须要混音、混屏CPU压力低
  • 主要实现集中于服务器端,便于服务升级
  • 带宽过大
  • 对于观众端来讲,连麦主用户与连麦用户A的媒体流间时序差
  • 高侵入性,要对如今弱实时流媒体系统进行大规模改造

3

3.1 模型图

server mix

3.2 说明

  连麦用户A经过信令控制服务器发连麦主用户发起连麦请求,连麦主用户赞成后,连麦用户A断开弱媒体流,同时向高实时流媒体服务器获取连麦主用户媒体而且发布自身媒体流,连麦主用户经过也经过高实时流媒体服务器获取连麦用户的媒体后,在高实时流媒体服务器收到连麦用户的媒体流后,开始解码、混音、混屏、重编码按原来的通道发送媒体流至弱实时流媒体服务器,观众端便可感知到混合后的媒体。

3.3 特色

  • 适合多个主播与多用户互动场景
  • 流量较低,连麦用户上下麦,观众端几呼无感知
  • 因为服务器端混音、混屏,加大服务器端压力
  • 侵入性适中,弱实时流媒体系统可维持不变
  • 实时性较P2P模式稍差
  • 与前两个模型比较,实现复杂度最高
相关文章
相关标签/搜索