腾讯云视频直播推流回调、录制回调、截图回调

腾讯云视频直播回调

视频直播服务支持直播回调功能,包含推流回调、录制回调和截图回调,推流回调可以将用户推流和断流的实时状态返回给客户,尤其在主播使用开源推流工具,客户可通过该功能了解主播状态;录制回调在录制文件生成时会通知客户,客户可实时获取录制文件;截图回调在截图完成后会通知客户,客户可以实时获取图片文件。

腾讯云视频直播开通地址 https://cloud.tencent.com/product/css

使用该功能需要你添加一个接收回调的URL地址,并保证地址可用,该操作可在控制台中完成。

1.开启回调

登录直播控制台,进入“域名管理”页面,选择要查看播放地址的一组域名,点击右侧的“管理”进入“回调配置”页面

在回调配置页面,按需滑动滑钮打开推流、录制或截图回调

点击推流或录制回调后的“编辑”按钮填写接收信息的回调地址,点击“确定”完成设置

2.关闭回调

登录直播控制台,进入“域名管理”页面,选择要查看播放地址的一组域名,点击右侧的“管理”进入“基本信息”页面

在回调配置页面,滑动滑钮关闭推流或者录制、截图回调

通知回调信息样例消息类型
消息体示例消息体示例说明消息体字段说明推流回调(流状通知){
    "version":"v1.1",
    "publishDomain":"push.yourdomain.com",
    "appName":"live",
    "streamName":"350802",
    "event":"publish_started",
    "status":"success",
    "clientIp":"12.11.112.34",
    "eventTime":1566370626345,
    "pushParams":{
        "a":"aaa",
        "b":"bbb",
        "c":"ccc"
    }
}
推流开始消息体
例如:
推流地址为:rtmp://push.yourdomain.com/live/350802?a=aaab=bbbc=ccc
推流到腾讯云平台时会收到样例所示的消息version:消息体版本号(当前为v1.1)
publishDomain:推流域名
appName:应用名称
streamName:流名称
event:事件取值:[publish_started(推流开始),publish_done(推流结束)]
status:状态[success]
clientIp:推流客户端ip
eventTime:触发时间(毫秒时间戳)
pushParams:推流参数(推流参数原样以json格式呈现)
{
    "version":"v1.1",
    "publishDomain":"push.yourdomain.com",
    "appName":"live",
    "streamName":"350802",
    "event":"publish_done",
    "status":"success",
    "eventTime":1566377826235
}
推流结束消息体
例如:
你的推流地址为:rtmp://push.yourdomain.com/live/350802?a=aaab=bbbc=ccc
停止推流到腾讯云平台时会收到样例所示的消息
录制回调(录制结果通知){
    "version":"v1.1",
    "publishDomain":"push.yourdomain.com",
    "appName":"live",
    "streamName":"350802",
    "format":"flv",
    "duration":18439,
    "fileSize":6007851133,
    "beginTime":1553741853968,
    "endTime":1553741935867,
    "event":"record_done",
    "downloadUrl":"http://s3.cn-north-1.jcloudcs.com/video-formal/record/20190319/57/live/62caee8d6c595e9441be/20190319175419_20190319175422.flv",
    "status":"success"
}
自动录制完成消息体
例如:
你配置了1个小时flv的录制模板到你所推的流上,在1个小时之后生成flv的录制文件之后你会收到如样例所示的消息
version:消息体版本号(当前为v1.1)
publishDomain:推流域名
appName:应用名称
streamName:流名称
event:事件[record_done]
status:状态[success]
format:录制格式
duration:录制文件时长(毫秒)
fileSize:文件大小(byte)
beginTime:录制开始时间(毫秒时间戳)
endTime:录制结束时间(毫秒时间戳)
downloadUrl:可下载地址
group:打点录制时间段数组(打点录制消息体特有)
taskExternalId:打点录制任务外部id(打点录制消息体特有)
{
    "version":"v1.1",
    "publishDomain":"push.yourdomain.com",
    "appName":"live",
    "streamName":"350802",
    "duration":"18439",
    "event":"record_done",
    "fileSize":"6007851133",
    "format":"flv",
    "status":"success",
    "group":[
        {
            "beginTime":1553228747000,
            "endTime":1553228747100
        },
        {
            "beginTime":1553228747200,
            "endTime":1553228747300
        }
    ],
    "downloadUrl":"http://s3.cn-north-1.jcloudcs.com/video-formal/record/20190319/57/live/62caee8d6c595e9441be/20190319175419_20190319175422.flv",
    "taskExternalId":"163594946396839936"
}
打点录制完成消息体
例如:
你调用了openapi的接口添加打点录制任务在录制任务完成之后你会收到如样例所示的消息
截图回调(截图结果通知){
    "version":"v1.1",
    "publishDomain":"push.yourdomain.com",
    "appName":"jw",
    "streamName":"210235T85E3188001452",
    "snapshotTime":1553826618026,
    "downloadUrl":"http://s3.cn-north-1.jcloudcs.com/-video-formal/snapshot/20190328/43/jw/210235T85E3188001452.jpg",
    "status":"success",
    "imgId":"8f5c8be9016ab658b98e3355336e3635"
}
截图结果消息体
例如:
你配置了10s一张的截图模板到你所推的流上面,在生成截图之后你会收到如样例所示的消息
version:消息体版本号(当前为v1.1)
publishDomain:推流域名
appName:应用名称
streamName:流名称
snapshotTime:截图文件生成时间(毫秒时间戳)
downloadUrl:可下载地址
status:状态[success]
imgId:图片id
质量检测回调(检测结果通知){    "publishDomain":"push1-test-yjh..com",
    "appName":"mqd-app-test",
    "module":"Brightness",
    "startTime":1571301677664,
    "endTime":1571301684919,
    "type":"video",
    "version":"v1.0",
    "streamName":"mqd-stream-test-1"
}
质量检测消息体
例如:
你配置(目前仅支持通过openapi配置)了质量检测的模板到你推的流上面,在检测到你所配置的检测项上发现了异常时你会收到如样例所示的消息
version:消息体版本号(当前为v1.1)
publishDomain:推流域名
appName:应用名称
streamName:流名称
module:质检项
目前只支持的检测项:
-BlackScreen-黑屏
-PureColor-纯色
-ColorCast-偏色
-FrozenFrame-静帧
-Brightness-亮度
-Contrast-对比度
type:类型
startTime:异常开始时间(毫秒时间戳)
endTime:异常结束时间(毫秒时间戳)

标签