开关播回调

最近更新时间:2020-11-27 18:13:22

注意:

  • 控制台开通后默认为旧版回调,建议在控制台开通新版回调
  • 为了解决回调漏发、乱序问题,KLS支持在回调body体中增加sequence用来唯一标识一对开关播回调,您可以借此来准确判断主播的状态,如需配置请联系售后
  • 针对切换回调类型期间在播的流,同一条流收到的开关播回调不是同一个类型,且切换期间不是无损的,详情请咨询售后

新版开关播回调

json格式,可以在控制台直接开通。

开播回调

当RTMP推流成功后,会调用相应的回调接口,回调内容如下:

参数 类型 描述 示例
Version String 版本号 1.0
App String 频道 live
Pubdomain String 推流域名 xxx.xxx.com
Stream String 流名 123
PubStartUnixTime String 推流开始时间,13位unixtime毫秒时间戳,注:历史原因,开关播回调时间戳类型不一致,如需改成int类型请联系技术支持 1456800010000
NotifyType String 回调类型,PubStart:推流开始,PubEnd:推流结束 PubStart
PubParam Object 推流携带的参数
ClientIp String 推流端IP
ClientPort Int 推流端端口
Node String cdn接受流的节点

开播回调示例

{
    "Version":"1.0",
    "App":"live",
    "Pubdomain":"xxx.xxx.com",
    "Stream":"test",
    "PubStartUnixTime":"1456800010000",
    "NotifyType":"PubStart",
    "ClientIp":" ",
    "ClientPort":" ",
    "Node":" ",
    "PubParam":{
        "param1":"123456",
        "param2":11
    }
}

关播回调

当RTMP推流结束后,会调用相应的回调接口,回调内容如下:

参数 类型 描述 示例
Version String 版本号 1.0
App String 频道 live
Pubdomain String 推流域名 xxx.xxx.com
Stream String 流名 123
PubEndUnixTime Int 推流结束时间,13位unixtime毫秒时间戳 1456800010000
NotifyType String 回调类型,PubStart:推流开始,PubEnd:推流结束 PubEnd
PubParam Object 推流携带的参数
ClientIp String 推流端IP
ClientPort int 推流端端口
Node String cdn接受流的节点

关播回调示例

{
    "Version":"1.0",
    "App":"live",
    "Pubdomain":"xxx.xxx.com",
    "Stream":"test",
    "PubEndUnixTime":1456800010000,
    "NotifyType":"PubEnd",
    "ClientIp":" ",
    "ClientPort":" ",
    "Node":" ",
    "PubEndMessage":" ",
    "PubParam":{
        "param1":"123456",
        "param2":11
    }
}

旧版开播断流回调

用于通知RTMP推流开始和结束的回调url为HTTP POST,回调接口包括流所属的频道app,流名name,推流时携带的flashver & swfurl & tcurl,以及本次请求的类型call。对于推流开始,call的值为user_publish;对于推流结束,call的值为user_publish_done。

开播回调

当RTMP推流成功后,会调用相应的回调接口,回调接口具体的结构如介绍中所描述。

示例

HTTP Body
app=live&name=asdf&swfurl=nil&flashver=nil&tcurl=rtmp://test.uplive.ks-cdn.com/live&call=user_publish&vdoid=123456

回调接口包括流所属的频道app,流名name,推流时携带的flashver & swfurl & tcurl,以及本次请求的类型call。对于推流开始,call的值为user_publish;对于推流结束,call的值为user_publish_done。

参数说明

参数 示例 描述
app live 频道
name asd 流名
flashver MAC 10,2,153,2 用于播放SWF文件的Flash播放器版本
swfurl swl文件播放url,无默认值
tcurl rtmp://test.uplive.ks-cdn.com/live/stream 推流url
call user_publish 请求类型(推流开始:user_publish;推流结束:user_publish_done)
vdoid 123 用于标识文件是否拼接

关播回调

当RTMP推流结束后,会调用相应的回调接口,回调接口具体的结构如介绍中所描述。

示例

HTTP头
POST /callback HTTP/1.0
Host: 用户提供的通知Host
Connection: close
Content-Length: 128

HTTP Body
app=live&name=asdf&swfurl=nil&flashver=nil&tcurl=rtmp://test.uplive.ks-cdn.com/live&call=user_publish_done&close_mode=nil&vdoid=123456

参数说明

参数 示例 描述
app live 频道
name asd 流名
flashver MAC 10,2,153,2 用于播放SWF文件的Flash播放器版本
swfurl swl文件播放url,无默认值
tcurl rtmp://test.uplive.ks-cdn.com/live/stream 推流url
call user_publish 请求类型(推流开始:user_publish;推流结束:user_publish_done)
close_mode 1 推流断开类型(1:正常断开,2:异常断开)
vdoid 123 用于标识相同流名的不同次推流

返回错误描述

Error Description
AuthencationFailed 鉴权失败
NonExistApplication app频道不存在
ExistStreamName publish流名已存在

金山云,开启您的云计算之旅

免费注册