视频点播智能分段摘要功能,依托于先进的语音识别(ASR)和大语言模型(LLM)技术,能够深度理解讲解类视频内容,自动将其分割成多个逻辑连贯的段落,并为每个段落及整个视频生成精准的标题和摘要。您将得到一份结构化的 JSON 内容大纲,从而将冗长的视频内容转化为可快速浏览和导航的结构化信息,从而显著提升用户的观看和信息获取效率。该功能适用于在线课程、会议录像、新闻播报和纪录片等场景。
本文档将指导您如何通过调用视频点播 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 小时。 说明 任务处理时长约为输入时长的 1.5 倍。例如,处理一段 10 分钟的视频,约需 15 分钟。 |
输出产物 | 结构化摘要数据(JSON 格式),包含整体及分段的标题、摘要、时间等信息。 |
使用分段摘要功能会产生以下费用:
调用 StartExecution 接口提交一个异步视频分段摘要任务。以下为任务的核心参数配置。关于完整的请求参数列表和详细说明,请参见 StartExecution API 参考。
Input: 指定输入文件。
Type: 设置为 Vid 或 DirectUrl。Vid / DirectUrl: 提供待处理文件的 Vid 或 FileName 信息。Operation.Task: 定义要执行的任务。
Type: 必须设置为 VideoSummary。VideoSummary: (可选)配置摘要任务,用于精细化控制摘要行为。
OnlyTimeline:是否仅输出时间线,默认为 false。设为 true 时,结果中仅返回时间段信息,不生成摘要。ExtraDescription:补充任务提示词,可用于提供额外上下文信息,不超过 1000 字符。BestSegmentDuration:期望的视频分段时长,单位为秒,默认值为 180。请求示例:
POST https://vod.volcengineapi.com?Action=StartExecution&Version=2025-01-01 { "Input": { "Type": "Vid", "Vid": "v0ccfeg7007a****og65ubr7niqng" }, "Operation": { "Type": "Task", "Task": { "Type": "VideoSummary", "VideoSummary": { "OnlyTimeline": false, "ExtraDescription": "这是一个教学视频,请按照知识点进行分段", "BestSegmentDuration": 180 } } } }
成功提交后,系统将返回任务的唯一标识 RunId。请务必保存好此 ID,以便后续查询结果。
任务提交后,系统将在后台进行异步处理。您可以通过以下任一方式获取结果:
主动查询:调用 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.VideoSummary.Content 字段中找到摘要结果。摘要结果是一个序列化后的 JSON 字符串,您需要对其进行反序列化。以下为 Content 字符串反序列化后的 JSON 对象结构。关于完整的响应参数结构,请参见 GetExecution API 参考。
{ "ResponseMetadata": { // ... 省略通用元数据 }, "Result": { "RunId": "hb:ebd05bee****3f7316c742b5f", "Status": "Success", // ... 省略任务元数据、输入、操作等信息 "Output": { "Type": "Task", "Task": { "Type": "VideoSummary", "VideoSummary": { "Duration": 159.1, "Content": "{\"视频标题\":\"Python编程基础入门教程\",\"视频摘要\":\"本视频是一个Python编程基础入门教程...\",\"分段信息\":[{\"时间\":\"00:00:00-00:03:15\",\"阶段主题\":\"Python介绍与环境安装\",\"阶段摘要\":\"介绍Python语言的特点...\",\"阶段细节\":\"讲解了Python的跨平台特性...\"},{\"时间\":\"00:03:15-00:06:30\",\"阶段主题\":\"Python基本语法与数据类型\",...}]}" } } } } }
获取到结构化的摘要数据后,您可以在您的应用前端进行展示,例如:
视频标题 和 视频摘要 作为页面的主信息。分段信息 数组,将每个分段的 时间、阶段主题 和 阶段摘要 渲染成一个可点击的列表项。时间 字段中的开始时间,并控制播放器跳转到对应的时间点。