本文介绍视频内容理解UnderstandVideoContent的语法及示例。
服务说明
由于产品业务调整,视频内容理解服务于 即日起停止新用户开通调用,历史开通过该服务的老用户可继续调用,2026年04月20日后该服务将下架,不再支持新老用户调用,请尽早寻找替代方案。如果对视频内容理解 API 服务使用有疑问,可通过搜索钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
功能描述
视频内容理解能力可以分析出视频中的明星、素人、游戏画面等各种元素。
- 您可以进入在线咨询获取在线人工帮助。
- 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
应用场景
互联网广告分析:可分析互联网广告的内容和效果之间的关系,帮助客户更高的提升广告效果。
特色优势
支持分析各种复杂场景。如夹杂明星、素人等场景。
输入限制
- 视频格式:MP4、AVI、FLV、MOV。
- 视频大小:不超过1 GB。
- 视频时长限制:时长不超过5分钟,超过时只返回前5分钟的分析结果。
- URL地址中不能包含中文字符。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。
计费说明
关于视频内容理解的计费方式及报价,请参见计费介绍。
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用UnderstandVideoContent接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。当同一个任务还未处理完时,建议不要重复提交任务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
|
名称 |
类型 |
是否必选 |
示例值 |
描述 |
| Action | String | 是 | UnderstandVideoContent | 要执行的操作。取值:UnderstandVideoContent。 |
| VideoURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/UnderstandVideoContent/UnderstandVideoContent1.mp4 | 视频URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
| RequestId | String | 71EC3F13-F0CA-4558-AC7F-A351106F59F2 | 请求ID。 |
| Data | Object | 返回的结果数据内容。 该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
| TagInfo | Map | 标签。目前仅输出 |
|
| VideoInfo | Object | 视频信息。 |
|
| Width | Long | 720 | 视频的宽度。单位:像素。 |
| Height | Long | 1280 | 视频的高。单位:像素。 |
| Duration | Long | 43380 | 视频的时长。单位:毫秒。 |
| Fps | Float | 25.0 | 视频的帧率。单位:帧。 |
| Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
TagInfo字段参数说明
TagInfo字段参数下会输出sceneInfo(场景)和humanInfo(人),对应场景包含字段参数请参见下表。
字段 |
类型 |
是否必须 |
示例值 |
描述 |
TimeRange |
list |
是 |
[[0,0.1],[0.3,1.0]] |
表示视频中的元素出现的时间相对位置。 例如整段视频时长为20秒,[[0,0.1],[0.3,1.0]]则表示该元素在整段视频中出现了2次,第一次出现的时间段为0~2秒,第二次出现的时间段为6~20秒。 |
TimeProportion |
float |
是 |
80 |
表示视频中的元素出现的时长占比,输出80则表示该元素在整段视频出现的时间占总时长的80%。取值范围 [0,100.0]。 |
Number |
int |
是 |
1 |
如果为HumanInfo字段时,当识别为非明星时表示出现的人物数量,被识别为明星时显示为1。 如果为非HumanInfo字段时,可忽略此字段。 |
Category |
string |
是 |
human-real-celebrity-古天乐 |
标签名称。具体分类如下图所示。 |
Category标签取值

查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult。
SDK参考
阿里云视觉AI视频理解类目下的视频内容理解能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频理解(videorecog)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见视频内容理解示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
示例
请求示例
http(s)://videorecog.cn-shanghai.aliyuncs.com/?Action=UnderstandVideoContent //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&VideoURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/UnderstandVideoContent/UnderstandVideoContent1.mp4
&公共请求参数
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<UnderstandVideoContentResponse>
<RequestId>71EC3F13-F0CA-4558-AC7F-A351106F59F2</RequestId>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</UnderstandVideoContentResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "71EC3F13-F0CA-4558-AC7F-A351106F59F2",
"Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}
返回示例补充说明
//查询结果:请求示例
http(s)://videorecog.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>
//查询结果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"tagInfo\":{\"humanInfo\":[{\"timeRange\":[[0.7272727272727273,0.9696969696969697]],\"timeProportion\":24.242424242424242,\"number\":2,\"category\":\"human-real-normal\"}],\"sceneInfo\":[{\"timeRange\":[[0,0.09090909090909091],[0.21212121212121213,0.6666666666666666],[0.696969696969697,0.7878787878787878],[0.8181818181818182,0.8787878787878788]],\"timeProportion\":69.6969696969697,\"number\":1,\"category\":\"gamescreen-screenshot\"},{\"timeRange\":[[0.09090909090909091,0.21212121212121213],[0.8787878787878788,1]],\"timeProportion\":24.242424242424242,\"number\":1,\"category\":\"liveaction\"}]},\"videoInfo\":{\"width\":664,\"height\":372,\"duration\":31050,\"fps\":23.976023976023978}}"
}
}
//Result反序列化
{
"tagInfo" : [ {
"humanInfo" : [ {
"timeRange" : [0.7272727272727273,0.9696969696969697],
"timeProportion" : 24.242424242424242,
"number" : 2,
"category" : "human-real-normal"
} ]
"sceneInfo" : [ {
"timeRange" : [0,0.09090909090909091],[0.21212121212121213,0.6666666666666666],[0.696969696969697,0.7878787878787878],[0.8181818181818182,0.8787878787878788],
"timeProportion" : 69.6969696969697,
"number" : 1,
"category" : "gamescreen-screenshot",
"timeRange" : [0.09090909090909091,0.21212121212121213],[0.8787878787878788,1],
"timeProportion" : 24.242424242424242,
"number" : 1,
"category" : "liveaction"
} ]
"videoInfo" : [ {
"width" : 664,
"height" : 372,
"duration" : 31050,
"fps" : "23.976023976023978"
} ]
} ]
}