通知接口
更新时间:2021-10-29
LSS提供通知功能方便您实时掌握直播状态。通过在创建域名或创建流时指定通知,您可以在直播状态改变等情形下第一时间收到LSS推送的通知消息。
通知类型及格式
通知类型
通知类型 | 描述 | 结构体 |
---|---|---|
SessionStatusChanged | 直播流状态改变时触发 | "body":{"previous":"READY","current":"ONGOING"} ,其中:previous: 直播流改变前状态 current: 直播流改变后状态 |
StreamingStatusChanged | 直播流状态改变时触发 | "body":{"previous":null,"current":"STREAMING"} ,其中:previous: 直播流改变前状态 current: 直播流改变后状态 当直播流状态为ONGOING时,流才会有直播流状态,null表示没有直播流状态 |
RecordFileGenerated | 录制文件生成时触发 | 同步录制到VOD(视频点播)消息体:"body":{"createTime":"2016-11-22T02:47:54Z","mediaId":"mda-gkxkuqznz28u812y","mediaTitle":"lss-gkxk2fwvy3wqyh4r/20161122104721"} ,其中:mediaId:系统生成的媒资的唯一标识mediaId mediaTitle:媒资名称 同步录制到BOS(对象存储)消息体: "body":{"bucket":"live-bucket","key":"lss-fkig2241twm00z6b/recording_20151109143507.mp4","createTime":"2016-03-09T06:36:10Z","format":"mp4"} ,其中:bucket: 录制文件存储的BOS bucket key: 录制文件的object key createTime: 录制文件的生成时间 format: 录制文件的格式: mp4(选择mp4录制模板只有mp4视频生产的回调) m3u8(如果未配置录制自动合并,则只有m3u8格式的回调;如果配置了自动合并,则除了m3u8的回调,还会在录制最后有一个ts切片生成的回调,用户可以忽略这个类型的回调。) flv(选择flv录制模板只有flv视频生产的回调) |
ThumbnailFileGenerated | 缩略图生成时触发 | "body": {"bucket": "<bucket>", "key": "<key>", "createTime": "2016-07-12T08:20:16Z ", "mode": "manual", "format": "jpg"} ,其中:bucket: 存储缩略图文件的BOS Bucket名称 key: 缩略图文件在BOS存储中的Key createTime: 缩略图生成时间 mode: 缩略图生成模式 format: 缩略图文件格式 |
IllegalContentDetected | 开启黄反审核后,检测到非法内容时触发 | "body": {"alarmType": "PORN", "confidence": "90", "imageUrl": "<image_url>} ,其中:alarmType: 非法内容类型 confidence: 置信度 imageUrl: 非法图片链接 |
通知格式
LSS通过HTTP请求将通知消息POST到您所配置的通知接口,用户通知接口收到HTTP POST请求BODY示例。具体内容和格式与通知类型相对应,这里以“缩略图生成时触发”时通知接口为例:
{
"sessionId":"lss-gjwmww88txi41gqt",
"playDomain":"play.bcelive.com",
"app":"live",
"stream":"onszf1j2gn8gb80462",
"requestId":"2585d6cb-9edd-4961-bab0-3a9c568da0f0",
"body":{
"bucket":"video-live-thumbnail",
"key":"/lss-gjwmww88txi41gqt.jpg",
"createTime":"2016-10-21T07:44:26Z",
"mode":"manual",
"format":"jpg"
},
"notifyTime":"2016-12-21T07:44:26Z",
"type":"ThumbnailFileGenerated"
}
messageBody
字段的值为字符串类型,可以通过常用的JSON库转为标准的JSON格式。
字段说明:
字段 | 描述 |
---|---|
sessionId | 直播流ID |
playDomain | 直播域名 |
app | 应用名称 |
stream | 流名称 |
body | 直播通知内容,body的具体内容和格式与通知类型相对应,即不同的通知类型,body中包含的子字段也不同。 |
notifyTime | 文件生成时间 |
type | 直播通知类型 |
创建通知
接口描述
通过用户提供的回调地址创建通知,在创建域名时可以指定通知接口,则直播过程中直播状态改变等情况下,LSS会向您指定的回调地址推送通知消息。默认情况下,同一个域名下的流使用同一个通知接口。
说明:如果客户端响应超时或返回500,LSS 会重新发送通知。
请求语法
POST /v<version>/notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: <utc-date-string>
host:lss.bj.baidubce.com
x-bce-request-id: <bce-request-id>
content-type: application/json
authorization: <bce-authorization-string>
请求头域
无特殊请求头域。
请求参数
参数 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
name | String | 必选 | 接口名称。开头必须是小写字母, 其余可以是小写字母、_或数字组成, 最多不超过40个字符 |
- | - |
endpoint | String | 必选 | 通知消息接口地址,不超过256字符 | - | - |
请求示例
POST /v5/notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
user-agent: python-requests/2.4.0 CPython/2.7.9 Darwin/14.3.0
host:lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-authorization-string
{
"name": "live_notification",
"endpoint": "http://live.notificaitonDomain.com/"
}
响应头域
无特殊响应头域。
响应参数
N/A
响应示例
HTTP/1.1 200 OK
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
Date: Fri, 03 Jul 2015 09:28:13 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
查询通知
接口描述
查询通知的接口名称和接口地址。
请求语法
GET /v<version>/notification/<name> HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: <utc-date-string>
host:lss.bj.baidubce.com
x-bce-request-id: <bce-request-id>
content-type: application/json
authorization: <bce-authorization-string>
请求头域
无特殊请求头域。
请求参数
参数 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
name | String | 必选 | 通知名称 | - | - |
请求示例
GET /v5/notification/live_notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
host:lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-authorization-string
响应头域
无特殊响应头域。
响应参数
参数 | 字段类型 | 字段描述 |
---|---|---|
name | String | 接口名称 |
endpoint | String | 通知消息接口地址 |
响应示例
HTTP/1.1 200 OK
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
Date: Fri, 03 Jul 2015 09:28:13 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
{
"name" : "live_notification",
"endpoint" : "http://live.notificaitonDomain.com/"
}
通知列表
接口描述
获取已创建的全部通知。
请求语法
GET /v<version>/notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: <utc-date-string>
host:lss.bj.baidubce.com
x-bce-request-id: <bce-request-id>
content-type: application/json
authorization: <bce-authorization-string>
请求头域
无特殊请求头域。
请求参数
N/A
请求示例
GET /v5/notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
host:lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-authorization-string
响应头域
无特殊响应头域。
响应参数
参数 | 字段类型 | 字段描述 |
---|---|---|
notifications | Object | 通知列表 |
+ name | String | 通知名称 |
+ endpoint | String | 通知消息接收地址 |
响应示例
HTTP/1.1 200 OK
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
Date: Fri, 03 Jul 2015 09:28:13 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8
{
"notifications" : [ {
"name" : "live_notification",
"endpoint" : "http://live.notificaitonDomain.com/"
}, {
"name" : "my_notification",
"endpoint" : "http://my.notificaitonDomain.com/"
} ]
}
删除通知
接口描述
删除指定的直播通知。
请求语法
DELETE /v<version>/notification/<name> HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: <utc-date-string>
host:lss.bj.baidubce.com
x-bce-request-id: <bce-request-id>
content-type: application/json
authorization: <bce-authorization-string>
请求头域
无特殊请求头域。
请求参数
N/A
请求示例
DELETE /v5/notification/live_notification HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2015-07-03T09:28:13Z
user-agent: python-requests/2.4.0 CPython/2.7.9 Darwin/14.3.0
host:lss.bj.baidubce.com
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
content-type: application/json
authorization: bce-authorization-string
响应头域
无特殊响应头域。
响应参数
N/A
响应示例
HTTP/1.1 200 OK
x-bce-request-id: 8776558c-81d9-4f97-8e2c-f977a286095d
Date: Fri, 03 Jul 2015 09:28:13 GMT
Transfer-Encoding: chunked
Content-Type: application/json;charset=UTF-8