音视频直播LSS

    通知接口

    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>/live/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

    请求示例

    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 通知消息接口地址
    createTime Date 通知创建时间

    响应示例

    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/",
      "createTime" : "2015-08-05T12:09:31Z"
    }

    通知列表

    接口描述

    获取已创建的全部通知。

    请求语法

    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 通知消息接收地址
    + createTime Date 通知创建时间

    响应示例

    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/",
        "createTime" : "2015-08-05T12:09:31Z"
      }, {
        "name" : "my_notification",
        "endpoint" : "http://my.notificaitonDomain.com/",
        "createTime" : "2015-08-05T12:09:31Z"
      } ]
    }

    删除通知

    接口描述

    删除指定的直播通知。

    请求语法

    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
    上一篇
    统计接口
    下一篇
    录制视频裁剪