视频点播智能场景切分功能依托于视觉理解算法,能够根据输入视频中的转场情况,将其智能地分割成一系列独立的切片。通过该功能,您可以获得一份包含所有切片起止时间的 JSON 数据,并可选择是否生成独立的切片文件。这使您能够将手动、耗时的视频拆条工作完全自动化,从而提升内容生产和二次创作的效率。该功能适用于 Vlog 拆解、影视综素材准备以及为混剪视频批量生产原料等场景。
本文档将指导您如何通过调用视频点播 OpenAPI 实现视频智能场景切分。
项目 | 说明 |
|---|---|
输入文件格式 | 支持 MP4、FLV、ASF、RM、RMVB、MPEG、MOV、AVI、MPEGTS、M4S、WMV、3GP、TS、MPG、WEBM、MKV、WM、MPE、VOB、DAT、MP4V、M4V、F4V、MXF、QT 等主流视频格式。 |
输入文件时长 | 单文件时长不得超过 2 小时。 |
输出产物 |
|
使用场景切分功能会产生以下费用:
调用 StartExecution 接口,提交一个异步的故事线分析任务。以下为任务的核心参数配置。关于完整的请求参数列表和详细说明,请参见 StartExecution API 参考。
Input: 指定输入文件。
Type: 设置为 Vid 或 DirectUrl。Vid / DirectUrl: 提供待处理文件的 Vid 或 FileName 信息。Operation.Task: 定义要执行的任务。
Type: 必须设置为 Segment。Segment: (可选)配置切分策略,用于精细化控制切分行为。POST https://vod.volcengineapi.com?Action=StartExecution&Version=2025-01-01 { "Input": { "Type": "Vid", "Vid": "v0d25cg10001***jcvqljht8dj05mde0" }, "Operation": { "Type": "Task", "Task": { "Type": "Segment", "Segment": {} } } }
任务提交后,系统将在后台进行异步处理。您可以通过以下任一方式获取结果:
主动查询:调用 GetExecution 接口,并传入步骤 1 中获取的 RunId 来获取任务结果。
GET https://vod.volcengineapi.com?Action=GetExecution&Version=2025-01-01&RunId=hb:ebd05bee1f3873***f7316c742b5f
事件通知:
EventType 为 ExecutionComplete 的 HTTP POST 请求。当返回结果中的 Status 字段值为 Success 时,表示任务已成功完成。您可以在 Output.Task.Segment.Segments 数组中找到所有的切片信息。以下为 Segments 数组中每个对象的字段说明。关于完整的响应参数结构,请参见 OutputTaskSegmentItem。
字段 | 类型 | 描述 |
|---|---|---|
| Double | 切片在原视频中的开始时间,单位为秒。 |
| Double | 切片在原视频中的结束时间,单位为秒。 |
| Array of Integer | 包含切片开始帧和结束帧的数组。 |
| Object | 切片文件信息。如果请求时 |
| String | 切片文件的新 Vid。 |
| String | 切片文件的存储路径。 |
| String | 切片文件的大小,单位为字节。 |
成功响应示例:
{ "ResponseMetadata": { // ... 省略通用元数据 }, "Result": { "RunId": "hb:a1b2c3d4e5f6***g7h8i9j0k1l2m3n4", "Status": "Success", // ... 省略任务元数据、输入、操作等信息 "Output": { "Type": "Task", "Task": { "Type": "Segment", "Segment": { "Segments": [ { "Start": 0.0, "End": 15.5, "Frames": [0, 465], "File": { "Vid": "v0segment***01", "FileName": "40902fd61***65bbe7555c2dfa44c66.mp4", "Size": "2345678" } }, { "Start": 15.5, "End": 42.8, "Frames": [465, 1284], "File": { "Vid": "v0segment***02", "FileName": "68392bf19439***db268ea9b9ff97a05.mp4", "Size": "5123456" } } // ... 更多切片 ] } } } } }
如果在步骤 1 中您选择了生成切片文件(NoFile 为 false),则您可以获取每个切片文件的 Vid 和 FileName。接下来,您需要将这些标识转换为公网可访问的 URL,以便于播放或下载。
说明
前提条件:在获取文件的公网 URL 之前,您必须为产物所在的点播空间添加并配置一个加速域名。所有 URL 都将基于此域名生成。
调用 GetPlayInfo 接口,传入您在步骤 2 中获取到的 Vid。成功调用后,系统会在响应体 Result.PlayInfoList 中返回播放 URL。
一个基础的访问 URL 由以下部分组成:[Protocol]://[PlaybackDomain]/[FileName]
[Protocol]:通常为 https 或 http。取决于您是否配置 SSL 证书。[PlaybackDomain]:您在点播控制台配置的加速域名。[FileName]:您从 GetExecution 结果中获取的产物 FileName。拼接示例:假设您的加速域名为 play.example.com,获取到的文件 FileName 为 video.mp4,那么拼接后的 URL 为:https://play.example.com/video.mp4
说明
为了防止资源被盗链,视频点播支持 URL 鉴权功能。如果您在视频点播控制台开启了 URL 鉴权,仅拼接基础 URL 还无法直接访问,您必须为其附加一个动态计算的鉴权参数(如 auth_key)。
https://play.example.com/video.mp4?auth_key=1732529334-0-0-a1b2c3d4e5f6...