全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
视频直播

混流接口说明

更新时间:2017-09-04 19:58:45

开始多人混流服务

接口:StartMultipleStreamMixService

接口功能:该接口对指定流启动多人混流服务。

注意事项

  • 调用该接口时主流必须存在并且收到过混流可用回调,否则该调用会失败。

  • 该接口仅用来设置混流相关参数,调用后,主流的画面不会出现改变。

  • 若对正在混流的主流调用该接口,则所有当前的混流效果将会结束,即在这种情况下,系统会自动调用StopMultipleStreamMixService。

停止多人混流服务

接口:StopMultipleStreamMixService

接口功能:该接口对指定流停止多人混流服务。

注意事项

  • 该接口调用成功后,主流画面最终将会发生改变,所有对该流的混流画面将会消失,不会产生混流结果通知。

添加混流

接口:AddMultipleMixStreamService

接口功能:该接口将指定流添加到多人混流中。

注意事项

  • 若添加流并不在推流,调用会返回失败。该函数必须在已经推流成功后进行调用。

  • 该接口返回成功并不意味着画面已经发生改变,混流画面的改变是异步的,混流画面发生改变时,会通过回调告知用户。

移除混流

接口:RemoveMultipleStreamMixService

接口功能:该接口将指定流从多人混流中移除。

注意事项

  • 该接口调用成功后,混流画面会发生改变,不会发出回调通知用户。

混流回调通知

用户需要在连麦控制台上设置连麦回调通知。

接口功能:用于通知使用方混流的回调通知,由服务端调用,服务会使用用户在连麦控制台上设置回调的URL,以post 一个json 格式内容的方式通知给用户,对于混流来讲,回调包含两种,一种是混流可用回调,一种是混流结果通知回调。

http://notify_url

  1. json 格式:
  2. {
  3. NotificationType”: MixAvailableNotification”,
  4. NotificationId : xxx-xxxx-xxxx-xxxxx”,
  5. NotificationData : { 。。。。}
  6. }

参数说明

参数 含义
NotificationType 该Notification 类型,对于混流来讲,分别为:MixAvailableNotification 对应混流可用回调 和 MixResultNotification 对应混流结果通知回调。
NotificationId 该Notification 唯一 ID,便于问题跟踪和日志追溯。
NotificationData Notification 数据json格式,不同Notification 类型,会有不同的Notification 数据格式。

混流可用回调

用于通知使用方以某路流为主流是否可以调用混流API Start接口。

回调格式样例:http://notify_url

  1. json 格式:
  2. {
  3. NotificationType”: MixAvailableNotification”,
  4. NotificationId : xxx-xxxx-xxxx-xxxxx”,
  5. NotificationData : {
  6. MainMixDomain”: live.aliyunlive.com”,
  7. MainMixApp”: live_mix”,
  8. MainMixStream : test001”,
  9. Event : MixAvailable
  10. }
  11. }

NotificationData 参数说明

参数 含义
MainMixDomain 域名
MainMixApp 应用
MainMixStream 流名
Event 事件

Event类型说明

Event类型 含义
MixAvailable 混流接口可用

注意事项

  • 若回调返回HTTP状态码为200,AliLive不再发送该回调。

混流结果通知回调:

用于通知使用方调用混流API后的异步结果通知或者混流过程中的内容是否发生改变。

回调格式样例:http://notify_url

  1. json 格式:
  2. {
  3. NotificationType”: MixResultNotification”,
  4. NotificationId : xxx-xxxx-xxxx-xxxxx”,
  5. NotificationData”: {
  6. MainMixDomain”: live.aliyunlive.com”,
  7. MainMixApp”: live_mix”,
  8. MainMixStream : test001”,
  9. MixDomain”: live.aliyunlive.com”,
  10. MixApp”: live1”,
  11. MixStream : test002”,
  12. MixTemplate : mhd”,
  13. Event : MixResult ,
  14. Code : Success”,
  15. Message”: xxx
  16. }
  17. }

NotificationData 参数说明

参数 含义
MainMixDomain 主流域名
MainMixApp 主流应用
MainMixStream 主流流名
MixDomain 副流域名
MixApp 副流应用
MixStream 副流流名
MixType 混流类型
MixTemplate 混流模版
Event 混流事件
Message 错误描述
Code 成功或者失败

Event类型说明

MixResult 混流结果

Code类型说明

Code值 语意 画面状态 建议操作
Success 混流成功 主副流叠加成功 触发相应业务逻辑
MainStreamNotExist 因主流不存在导致的混流异常 AliLive停止输出视频流,画面停留在混流最后一帧 等待主流重推后业务恢复或者停止连麦(调用StopMix)
MixStreamNotExist 因副流不存在导致的混流异常 主流继续播放,副流最后一帧叠加在主流上 等待副流重推后业务恢复或者停止连麦(调用StopMix)
InternalError 内部错误导致的混流异常 不确定 等待内部重试或者停止连麦(调用StopMix)

注意事项

  • InternalError表示的由于内部错误导致的异常,业务可以根据需要选择等待系统自动恢复或重试或者停止连麦。

  • 主流中断或副流中断对连麦画面的影响是不一样的,主流中断时,整体视频流会中断;副流中断时,整体视频流会继续,叠加视频中主流部分继续播放,副流部分停止在最后一帧。主流中断后在5分钟内继续推流,系统会自动恢复前期的多人混流状态,如果超过5分钟,主流前期的混流状态讲会被系统清除,客户端需要自己主动调用StartMultipleStreamMixService和AddMixStream 接口。辅流中断后然后继续恢复推流,系统也会自动恢复前期多人混流状态,且没有5分钟时间限制。

  • 当收到回调code为MainStreamNotExist时,主流的混流接口不可调用,需等到主流混流可用通知以后才能继续调用。

  • 若回调返回HTTP状态码为200,AliLive不再发送该回调。

本文导读目录