视频内容分析

描述

  1. 发送视频内容分析请求
  2. 视频内容分析使用后台异步处理的方式
  3. 请求成功仅返回标识任务的唯一标识jobId

请求说明

  1. POST /v1/vca
  2. Host: <MgrDomain>
  3. Authorization:<MgrToken>

范例

  1. curl X POST d "source=aHR0cDovL3d3dy5iYWlkdS5jb20=&bucket=bucketName"
  2. H "Authorization: 86622e227a50d454542e4ac543a7:Y2JmMGY0YTNsdfQxZmBMHGM2ZTA0=="
  3. http://mrgdomain/v1/vca

参数说明

参数 必填 描述
bucket 空间名
source 视频资源的完整URL,单次只支持一个URL,需经过URL安全的Base64编码
notifyUrl 通知地址,需要urlBase64编码。注:接收到鉴定通知后,需要给云存储返回200状态码表

响应说明

参数 类型 说明
jobId string 任务id,请妥善保存,用于后续任务结果查询

范例
请求成功

  1. { "jobId": < jobId> }

请求失败

  1. {
  2. "code": "<code string>",
  3. "message": "<ErrMsg string>"
  4. }

视频内容查询

描述

  1. 查询视频内容分析结果。

请求说明

  1. get /v1/vca/search?jobId=<xxxx>
  2. Host: <MgrDomain>

范例

  1. curl v http://mrgdomain/v1/vca/search?jobId=xxx

参数说明

参数 必填 描述
jobId 任务ID

响应说明(响应内容为json格式,不需要base64编码)

参数 类型 说明
jobId string 任务id
code int 1分析中,2-分析失败,3分析成功
desc string code为分析失败时,返回分析失败的信息。否则返回""
notifyResult string 配置了notifyUrl时,客户通知情况。
0-未通知 1-通知中 2-通知失败 3-通知成功。
是否通知成功以客户通知服务器是否返回200状态码为准。未配置notifyUrl时,值返回0
results array 分析结果,code=3时返回
-type string 场景, 目前包括 scenario、entity、keyword、figure、logo 等
-result array 场景下标签结果
--attribute string 标签名称
--confidence double 标签对应的置信度

type类型说明

type 说明
scenario 可识别场景标签
entity 可识别实体标签
keyword 可识别文字、语音关键字
location 位置信息
figure 可识别人物
logo 可识别商标

请求失败

  1. {
  2. "code": "<code string>",
  3. "message": "<ErrMsg string>"
  4. }

请求成功--分析中,http.code=200

  1. {
  2. "jobId": "<jobId>",
  3. "code": 1,
  4. "desc": "",
  5. "notifyResult": 0,
  6. "results": [],
  7. }

请求成功--分析成功,http.code=200

  1. {
  2. "jobId": "<jobId>",
  3. "code": 3,
  4. "desc": "",
  5. " notifyResult": 2, // 通知成功,客户通知服务器返回200
  6. "results": [
  7. {
  8. "type": "scenario",
  9. "result": [
  10. {
  11. "attribute": "会议室",
  12. "confidence": 45.67,
  13. }
  14. ],
  15. },
  16. {
  17. "type": "entity",
  18. "result": [
  19. {
  20. "attribute": "马克杯",
  21. "confidence": 78.65,
  22. }
  23. ],
  24. },
  25. {
  26. "type": "figure",
  27. "result": [
  28. {
  29. "attribute": "张三",
  30. "confidence": 72.11,
  31. }
  32. ]
  33. },
  34. {
  35. "type": "location",
  36. "result": [
  37. {
  38. "attribute": "厦门",
  39. "confidence": 88.88,
  40. }
  41. ]
  42. },
  43. {
  44. "type": "keyword",
  45. "result": [
  46. {
  47. "attribute": "上海",
  48. "confidence": 94.25,
  49. }
  50. ]
  51. },
  52. {
  53. "type": "logo",
  54. "result": [
  55. {
  56. "attribute": "网宿",
  57. "confidence": 94.25,
  58. }
  59. ]
  60. }
  61. ],
  62. }

请求成功--分析失败,http.code=200

  1. {
  2. "jobId": "<jobId>",
  3. "code": 2,
  4. "desc": "Video Analysis Failed. Internal Error",
  5. " notifyResult": 3, // 通知失败,客户通知服务器返回非200状态码
  6. " results": [],
  7. }

jobId不存在,http.code=401

  1. {
  2. "code": "401",
  3. "message": " JobId Not Found ",
  4. }

视频标签通知

  1. 如果客户配置了notifyUrl,需要在分析成功后将结果通知给客户。

--分析成功通知举例

  1. {
  2. "jobId": "<jobId>",
  3. "code": 3,
  4. "desc": ""
  5. "results": [
  6. {
  7. "type": "scenario",
  8. "result": [
  9. {
  10. "attribute": "会议室",
  11. "confidence": 45.67,
  12. }
  13. ],
  14. },
  15. {
  16. "type": "entity",
  17. "result": [
  18. {
  19. "attribute": "马克杯",
  20. "confidence": 78.65,
  21. }
  22. ],
  23. }
  24. {
  25. "type": "figure", //type=figure时返回
  26. "result": [
  27. {
  28. "attribute": "张三",
  29. "confidence": 72.11,
  30. }
  31. ]
  32. },
  33. {
  34. "type": "keyword", //type=keyword时返回
  35. "result": [
  36. {
  37. "attribute": "上海",
  38. "confidence": 94.25,
  39. }
  40. ]
  41. }
  42. ],
  43. }

异常场景&状态码

错误码 message 说明
404 Bucket Not Found 发送标签分析请求时,空间不存在
401 Smart Media Service Not Enabled 未开通智能多媒体服务
401 Type Invalid,Type Is Not Supported xxx type是不支持的类型。多个type时,只要有一个type不支持就返回该错误
401 Bucket Is Null 必填项bucket没有传
401 Source Is Null 必填项source没有传
401 Source Invalid source没有做URL安全的Base64编码
401 NotifyUrl Invalid 传了notifyUrl但是没有做URL安全的Base64编码
404 JobId Not Found 查询分析结果时的jobId不存在