全部产品
视频直播

典型业务流程

更新时间:2017-09-04 19:04:43   分享:   

本小节将描述一个典型业务流程的实线逻辑,从主播上线到观众加入连麦、连麦结束,最后主播退出直播为止。

主播发起直播与观众观看直播

  1. 主播向APP Server发起直播请求。
  2. APP Server同意主播发起直播,并分配主播的推流地址、播放地址以及混流地址。
  3. 主播通过推流地址开始推流。
  4. APP Server收到AliLive推流成功的回调,将主播放入直播列表,表示此时观众可以播放主播的直播流。
  5. 观众A、B、C开始观看直播(即播放混流地址)。
  6. 通知AppServer,用户A、B、C正在观看。

主播发起连麦

  1. 主播向APP Server发出请求,希望与观众A、B连麦。
  2. APP Server向观众A、B反馈主播的请求。
  3. 观众A、B向APP Server发送同意主播连麦请求的信号。
  4. APP Server向观众A、B分配各自的推流地址,并发送主播流的播放地址。
  5. 观众A、B开始连麦(即结束播放混流地址,开始推流、开始播放主播的播放地址)。
  6. APP Server收到AliLive给出的观众A、B推流成功的回调,将A、B的播放地址发送给主播和A、B、C。(注释1:此处观众C并不需要收到A、B的播放地址,是否收到A、B的播放地址对于观众C的播放没有任何影响。之所以收到这个消息主要是通知第三方观众有人加入连麦了。)
  7. 主播开始与A、B进行连麦(即播放A、B的播放地址)。
  8. 副麦A增加与B的连麦(即播放B的播放地址)。
  9. 副麦B增加与A的连麦(即播放A的播放地址)。
  10. APP Server调用AliLive的混流接口,开始混流且A、B加入混流画面。至此,主播与A、B连麦成功。

副麦退出连麦

  1. 副麦B向APP Server发送结束连麦的通知,然后结束连麦(即停止推流、停止播放主播和副麦A的播放地址,开始播放混流地址)。
  2. APP Server调用AliLive的混流接口,B退出混流画面。
  3. APP Server发送副麦B退出直播的消息给主播及A、B、C。
  4. 主播与B停止连麦(即结束播放B的播放地址)。
  5. 副麦A与B停止连麦(即结束播放B的播放地址)。

观众加入连麦

  1. 观众C向APP Server发出申请,要求加入连麦。
  2. APP Server向主播和副麦A转发观众C的申请。
  3. 主播和副麦A向APP Server发送同意连麦的信号。
  4. APP Server向观众C分配推流地址,并发送主播和副麦A的播放地址。
  5. 观众C开始连麦(即结束播放混流地址,开始推流、开始播放主播和副麦A的播放地址)。
  6. APP Server收到AliLive给出的观众C推流成功的回调,将C的播放地址发送给主播和A、B、C。
  7. 主播增加与C的连麦(即播放C的播放地址)。
  8. 副麦A增加与C的连麦(即播放C的播放地址)。
  9. APP Server调用AliLive的混流接口,C加入混流画面。至此,观众C加入连麦成功。

主播终止连麦

  1. 主播向APP Server发送终止连麦通知,并终止连麦(即结束播放副麦A、C的播放地址)。
  2. APP Server向主播和A、B、C发送终止连麦的信号。
  3. 副麦A退出连麦(即结束推流、结束播放主播和副麦C的播放地址,开始播放混流地址)。
  4. 副麦C退出连麦(即结束推流、结束播放主播和副麦A的播放地址,开始播放混流地址)。
  5. APP Server调用AliLive的混流接口,结束混流,A、C退出混流画面。至此,连麦终止。

主播结束直播

  1. 主播向APP Server发送结束直播的通知,并结束推流。
  2. APP Server向观众A、B、C告知直播结束。
  3. 观众A、B、C退出直播(即结束播放混流地址)。

注:无论是直播还是连麦的过程,推流是不可缺少的。主播会推流,副麦会推流。客户端SDK中就提供了能够实现推流功能的接口,这些接口中所谓的推流成功指的是直播流可以成功的发送出去。但这并不表示此时可以从服务端下载这些直播流并观看,只有收到AliLive中推流成功的回调后,才表示可以真正开始播放。

本文导读目录
本文导读目录
以上内容是否对您有帮助?