直播分析接口
所有文档

          媒体内容分析 MCA

          直播分析接口

          提交直播分析

          用户提供直播流地址,创建一次直播分析。

          • 支持RTMP/HTTP拉流;
          • 正在分析中的直播(以直播流地址区分)无法再次进行分析;
          • 已经分析过的直播(以直播流地址区分,FINISHED/ERROR)可以重新进行分析。

          请求语法

          PUT /v1/stream HTTP/1.1
          host: vca.bj.baidubce.com
          authorization: <bce-authorization-string>
          content-type: application/json

          请求参数

          请求体

          参数 类型 描述 是否必须
          source String 直播地址
          preset String 分析模板名称 否,没有用默认模版,目前仅支持文本、语音、人脸等分析项
          notification String 通知名称,需要先在mca控制台进行配置
          intervalInSecond Integer 拉流视频间隔,>=1s, 默认为10s
          description String 描述信息 否,长度不超过100

          请求示例

          PUT /v1/stream HTTP/1.1
          host: vca.bj.baidubce.com
          content-type: application/json
          authorization: <bce-authorization-string>
          
          {
              "source": "rtmp://test/lssmca_2022",
              "notification": "mca_callback",
          }

          响应头域

          响应体

          参数 类型 描述
          source String 直播路径
          preset String 视频分析模版
          notification String 通知名称
          description String 描述信息
          intervalInSecond Integer 拉流视频间隔
          createTime Date 分析创建时间
          status String 分析状态

          响应示例

          HTTP/1.1 200 OK
          
          {
              "source": "rtmp://test/lssmca_2022",
              "preset": "default",
              "notification": "mca_callback",
              "intervalInSecond": 10,
              "createTime": "2020-11-09T11:13:31Z",
              "status": "PROVISIONING"
          }

          查询直播分析基本信息

          请求语法

          GET /v1/stream HTTP/1.1
          host: vca.bj.baidubce.com
          authorization: <bce-authorization-string>
          content-type: application/json

          请求参数

          参数 类型 描述 是否必须
          source String 直播路径

          请求体

          请求示例

          GET /v1/stream?source=rtmp://test/lssmca_2022 HTTP/1.1
          host: vca.bj.baidubce.com
          content-type: application/json
          authorization: <bce-authorization-string>

          响应体

          参数 类型 描述
          source String 直播路径
          preset String 分析模版
          notification String 通知名称
          description String 描述信息
          intervalInSecond Integer 拉流视频间隔
          createTime Date 分析创建时间
          startTime Date 实际开始拉流时间,仅当status=PROCESSING/FINISHED时存在
          endTime Date 实际结束拉流时间,仅当status=FINISHED时存在
          durationInSecond Number 实际已经分析的直播时长,自动将分析失败或者缺失的直播片段移除,仅当status=PROCESSING/FINISHED时存在
          status String 分析状态
          error Object 分析失败信息,仅当status=ERROR时存在
          + code String 错误码
          + message String 错误信息

          响应示例

          HTTP/1.1 200 OK
          
          {
              "source": "rtmp://test/lssmca_2022",
              "preset": "default",
              "notification": "mca_callback",
              "intervalInSecond": 10,
              "createTime": "2020-11-09T12:23:07Z",
              "startTime": "2020-11-09T12:23:07Z",
              "endTime": "2020-11-09T12:24:32Z"
              "durationInSecond": 60,
              "status": "FINISHED"
          }

          结束直播分析任务

          请求语法

          PUT /v1/stream HTTP/1.1
          host: vca.bj.baidubce.com
          authorization: <bce-authorization-string>
          content-type: application/json

          请求参数

          参数 类型 描述 是否必须
          stop String 标志参数 是,不需要填值

          请求体

          参数 类型 描述 是否必须
          source String 直播路径

          请求示例

          PUT /v1/stream?stop HTTP/1.1
          host: vca.bj.baidubce.com
          content-type: application/json
          authorization: <bce-authorization-string>
          
          {
             "source": "rtmp://test/lssmca_2022"
          }

          响应体

          响应示例

          HTTP/1.1 200 OK

          直播流分析结果回调格式

          通知结果使用POST请求进行回调。

          参数说明

          参数 类型 描述
          messageId String 回调消息ID
          messageBody String 回调消息内容Body(json)

          回调结果示例

          {
          	"messageId":"086c404f-407a-4dd5-882b-e85639b00169",
          	"messageBody":"******"
          }

          messageBody有下面两种类型。

          直播流分段音视频处理结果回调

          请求参数

          参数 类型 描述 是否必须
          segment String 标志参数 是,不需要填值

          请求体

          参数 类型 描述
          isSegment Boolean 固定值true,表示这是个直播流分段音视频处理结果回调
          source String 直播流地址
          preset String 模板名称
          notification String 通知名称
          description String 视频描述,默认为空字符串,不超过256字符
          intervalInSecond Integer 拉流视频间隔
          startTime Date 实际开始拉流时间
          segmentStartTimeInSecond Integer 在直播中的开始时间(相对于实际开始拉流时间startTime的相对时间)
          segmentEndTimeInSecond Integer 在直播中的结束时间(相对于实际开始拉流时间startTime的相对时间)
          status String 分析任务状态:FINISHED/ERROR
          results List 结果列表,仅仅当status=FINISHED时返回
          + type 枚举,figure/character/speech 结果类型
          + data String 结果详情
          error Object 分析失败信息,仅当status=ERROR时存在
          + code String 错误码
          + message String 错误信息

          对于结果类型是figure,data反序列化后结构为:

          参数 类型 描述
          results List 结果列表
          + thumbnailUrl String 直播抽帧图片地址
          + tags List 标签列表
          ++ attribute String 标签
          ++ confidence Double 置信度
          ++ source Double 标签来源
          ++ location Object 位置
          +++ leftOffsetInPixel Interger 左上角横坐标
          +++ topOffsetInPixel Interger 左上角纵坐标
          +++ widthInPixel Interger 宽度
          +++ heightInPixel Interger 高度
          +++ degree Interger 角度

          对于结果类型是character,data反序列化后结构为:

          参数 类型 描述
          results List 结果列表
          + thumbnailUrl String 直播抽帧图片地址
          + words List 文字识别结果
          ++ word String 文本
          ++ confidence Double 置信度
          ++ rect Object 位置
          +++ leftOffsetInPixel Interger 左上角横坐标
          +++ topOffsetInPixel Interger 左上角纵坐标
          +++ widthInPixel Interger 宽度
          +++ heightInPixel Interger 高度

          对于结果类型是speech,data反序列化后结构为:

          参数 类型 描述
          audioUrl String 音频地址
          results List 结果列表
          + startTimestampInSecond Integer 开始时间
          + endTimestampInSecond Integer 结束时间
          + statement Double 语音识别结果

          示例

          示例一:成功时回调

          {
              "isSegment": true,
              "source": "rtmp://test/lssmca_2022",
              "preset": "default",
              "notification": "mca_callback",
              "intervalInSecond": 10,
              "startTime": "2019-10-09T00:00:00Z",
              "segmentStartTimeInSecond": 0,
              "segmentEndTimeInSecond": 9, 
              "status":"FINISHED",
              "results":[
          	    {
                      "type":"figure",
                      "result": "{\"results\":[{\"thumbnailUrl\":\"http://bj.bcebos.com/bucket/mid/34/1614645627_341.jpg\",\"tags\":[{\"attribute\":\"杨超越\",\"confidence\":34.97,\"source\":\"face_recognition\",\"location\":[{\"leftOffsetInPixel\":368,\"topOffsetInPixel\":168,\"widthInPixel\":92,\"heightInPixel\":91,\"degree\":-1}]}]}]}"
                  },
                  {
                      "type":"character",
                      "result": "{\"results\":[{\"thumbnailUrl\":\"http://bj.bcebos.com/bucket/mid/34/1614645627_341.jpg\",\"words\":[{\"word\":\"今天要下雨\",\"rect\":{\"leftOffsetInPixel\":220,\"topOffsetInPixel\":112,\"widthInPixel\":198,\"heightInPixel\":42},\"confidence\":0.99}]}]}"
                  },
          	    {
                      "type":"speech",
                      "result": "{\"audioUrl\":\"http://bj.bcebos.com/bucket/mid/1.mp3\",\"results\":[{\"startTimestampInSecond\":0,\"endTimestampInSecond\":5,\"statement\":\"在五四青年节来临之际在中国政法大学建校六十五周年前夕中共中央总书记国家主席中央军委主席习近平三日上午来到中国政法大学考察,\"},{\"startTimestampInSecond\":6,\"endTimestampInSecond\":9,\"statement\":\"习近平代表党中央向全国各族青年致以节日的问候,向全国广大教育,\"}]}"
                  }
              ]
          }

          示例二:失败时回调

          {
              "isSegment": true,
              "source": "rtmp://test/lssmca_2022",
              "preset": "default",
              "notification": "mca_callback",
              "intervalInSecond": 10,
              "startTime": "2019-10-09T00:00:00Z",
              "segmentStartTimeInSecond": 0,
              "segmentEndTimeInSecond": 9, 
              "status": "ERROR",
              "error": {
          	    "code": "InternalError",
          	    "message": "internal error"
              }
          } 

          直播流结束回调

          请求参数

          参数 类型 描述 是否必须
          stop String 标志参数 是,不需要填值

          请求体

          参数 类型 描述
          isSegment Boolean 固定值false,表示这是个直播流结束回调
          source String 直播流地址
          preset String 模板名称
          notification String 通知名称
          description String 描述信息
          intervalInSecond Integer 拉流视频间隔
          createTime Date 直播任务创建时间
          startTime Date 实际开始拉流时间
          endTime Date 实际结束拉流时间
          durationInSecond Number 实际直播成功分析时长,自动将分析失败或者缺失的直播片段移除,仅当status=FINISHED时存在
          status String 分析任务状态:FINISHED/ERROR

          示例

          {
              "isSegment": false,
              "source": "rtmp://test/lssmca_2022",
              "preset": "default",
              "notification": "mca_callback",
              "intervalInSecond": 10,
              "createTime": "2020-11-09T12:23:07Z",
              "startTime": "2020-11-09T12:23:07Z",
              "endTime": "2020-11-09T12:24:32Z",
              "durationInSecond": 60,
              "status": "FINISHED"
          }
          上一篇
          视频分析接口
          下一篇
          图片分析接口