本文介绍视频理解(videorecog)类目下的视频拆条SplitVideoParts的语法及示例。
功能描述
视频拆条能力可以多维度对视频进行分析理解,将视频拆解为多个片段并返回每个片段的边界时间点(不返回具体视频片段),并对片段进行摘要描述,拆分维度包含镜头和主题等。
应用场景
影视传媒素材生产:支持影视传媒视频的智能信息分析和片段拆分,可用于长视频完整片段拆分分发、快编素材生成和视频剪辑等场景。
特色优势
- 支持多维度信息提取:支持对多种信息维度进行信息提取,并基于该信息进行片段拆分。
- 拆分粒度细:可对素材进行秒级或帧级拆分。
- 支持素材摘要信息透出:可对拆分片段进行信息摘要描述。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通视频理解服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为视频理解(videorecog)类目的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见视频拆条示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 视频格式:AVI、FLV、MKV、MPG、MP4、TS、MOV、MXF。
- 视频大小:小于4 GB。
- 视频时长限制:时长不超过3小时。
- 视频分辨率:大于等于240P,小于等于1440P。
- URL地址中不能包含中文字符。
计费说明
关于视频拆条的计费方式及报价,请参见计费介绍。
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用SplitVideoParts接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | SplitVideoParts | 系统规定参数。取值:SplitVideoParts。 |
VideoUrl | String | 是 | https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/ocr/xxxx.mp4 | 视频URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 |
Template | String | 否 | live | 拆条模板,当前只支持 |
MinTime | Integer | 否 | 10 | 拆条最小长度,单位为秒,用户可以根据实际业务需求进行灵活配置,也可以不配置。 |
MaxTime | Integer | 否 | 20 | 拆条最大长度,单位为秒,用户可以根据实际业务需求进行灵活配置,也可以不配置。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | A00A3C17-61D5-1489-860D-B709F83A7C40 | 请求ID。 |
Data | Object | 返回的结果数据内容。该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
Elements | Array of elements | 针对视频镜头转场维度进行拆条。 |
|
BeginTime | Float | 10.06 | 该片段的起始时刻,单位:秒。 |
EndTime | Float | 17.3 | 该片段的结束时刻,单位:秒。 |
Index | Long | 1 | 片段序号。 |
SplitVideoPartResults | Array of splitVideoPartResults | 针对视频主题进行拆条。 |
|
BeginTime | Float | 0.33 | 拆条起始时间点。 |
EndTime | Float | 6.3 | 拆条结束时间点。 |
Theme | String | you like to do my work in the world. | 拆条主题。 |
Type | String | 直播 | 拆条类型,电商直播场景暂时只返回默认值 |
By | String | multimodal | 拆条采用的算法。 |
Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult。
SDK参考
阿里云视觉AI视频理解类目下的视频拆条能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频理解(videorecog)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见视频拆条示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
示例
请求示例
http(s)://videorecog.cn-shanghai.aliyuncs.com/?Action=SplitVideoParts //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&VideoUrl=https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/ocr/xxxx.mp4
&Template=live
&MinTime=10
&MaxTime=20
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<SplitVideoPartsResponse>
<RequestId>A00A3C17-61D5-1489-860D-B709F83A7C40</RequestId>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</SplitVideoPartsResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "A00A3C17-61D5-1489-860D-B709F83A7C40",
"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" : "{\"Elements\" : \"BeginTime\" : 10.06,\"EndTime\" : 17.3,\"Index\" : 1,\"SplitVideoPartResults\" : \"BeginTime\" : 0.33,\"EndTime\" : 6.3,\"Theme\" : \"you like to do my work in the world.\",\"Type\" : \"直播\",\"By\" : \"multimodal\"}"
}
}
//Result反序列化
{
"Elements" : [ {
"BeginTime" : 10.06,
"EndTime" : 17.3,
"Index" : 1
} ],
"SplitVideoPartResults" : [ {
"BeginTime" : 0.33,
"EndTime" : 6.3,
"Theme" : "you like to do my work in the world.",
"Type" : "直播",
"By" : "multimodal"
} ]
}
错误码
关于视频拆条的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。