You need to enable JavaScript to run this app.
导航
智能场景切分
最近更新时间:2025.12.05 15:08:18首次发布时间:2025.12.05 15:08:18
复制全文
我的收藏
有用
有用
无用
无用

视频点播智能场景切分功能依托于视觉理解算法,能够根据输入视频中的转场情况,将其智能地分割成一系列独立的切片。通过该功能,您可以获得一份包含所有切片起止时间的 JSON 数据,并可选择是否生成独立的切片文件。这使您能够将手动、耗时的视频拆条工作完全自动化,从而提升内容生产和二次创作的效率。该功能适用于 Vlog 拆解、影视综素材准备以及为混剪视频批量生产原料等场景。

本文档将指导您如何通过调用视频点播 OpenAPI 实现视频智能场景切分。

适用场景

  • 自动化素材拆条:快速将包含多个地点和镜头的 Vlog 或旅拍视频,自动拆解成独立的镜头片段,便于后续的精细化剪辑和挑选。
  • 镜头级内容索引:对电影、电视剧、综艺等内容进行镜头级别的切分,为后续的场景识别、内容分析、打点标注等提供基础数据。
  • 批量生成短视频素材:将影视剧、游戏录屏等长视频,快速、批量地切分成适合二次创作(如混剪、卡点视频)的短视频素材库。
  • 智能媒资管理:在视频入库时进行场景切分,将视频以结构化的片段形式进行管理,便于后续的检索和分析。

能力与限制

项目

说明

输入文件格式

支持 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 小时。

输出产物

  • 结构化切片数据(JSON 格式)
  • 独立的视频切片文件(MP4 格式)

计费说明

使用场景切分功能会产生以下费用:

  • 场景切分费用:按输入片源时长计费,价格为 0.2 元/分钟。
  • 媒资存储费用:您上传用于处理的原始视频文件以及生成的切片文件都需要存储在视频点播空间中。这将根据存储量和存储时长产生费用,详见媒资存储计费
  • 视频分发费用:如果您通过视频点播的 CDN 分发加速功能来播放或下载生成的视频,将产生分发加速费用,详见分发加速计费

前提条件

实现流程

步骤 1:提交场景切分任务

调用 StartExecution 接口,提交一个异步的故事线分析任务。以下为任务的核心参数配置。关于完整的请求参数列表和详细说明,请参见 StartExecution API 参考

  • Input: 指定输入文件。
    • Type: 设置为 VidDirectUrl
    • 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": {}
    }
  }
}

步骤 2:获取任务结果

任务提交后,系统将在后台进行异步处理。您可以通过以下任一方式获取结果:

  • 主动查询:调用 GetExecution 接口,并传入步骤 1 中获取的 RunId 来获取任务结果。

    GET https://vod.volcengineapi.com?Action=GetExecution&Version=2025-01-01&RunId=hb:ebd05bee1f3873***f7316c742b5f
    
  • 事件通知

    1. 参考事件通知概述文档,配置一个用于接收回调的服务地址。在订阅事件时,勾选媒体处理任务执行完成事件
    2. 当任务完成时,您的服务将收到一个 EventTypeExecutionComplete 的 HTTP POST 请求。

当返回结果中的 Status 字段值为 Success 时,表示任务已成功完成。您可以在 Output.Task.Segment.Segments 数组中找到所有的切片信息。以下为 Segments 数组中每个对象的字段说明。关于完整的响应参数结构,请参见 OutputTaskSegmentItem

字段

类型

描述

Start

Double

切片在原视频中的开始时间,单位为秒。

End

Double

切片在原视频中的结束时间,单位为秒。

Frames

Array of Integer

包含切片开始帧和结束帧的数组。

File

Object

切片文件信息。如果请求时 NoFile 设为 true,则此字段为空。

File.Vid

String

切片文件的新 Vid。

File.FileName

String

切片文件的存储路径。

File.Size

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"
              }
            }
            // ... 更多切片
          ]
        }
      }
    }
  }
}

步骤 3:获取切片文件 URL

如果在步骤 1 中您选择了生成切片文件(NoFilefalse),则您可以获取每个切片文件的 VidFileName。接下来,您需要将这些标识转换为公网可访问的 URL,以便于播放或下载。

说明

前提条件:在获取文件的公网 URL 之前,您必须为产物所在的点播空间添加并配置一个加速域名。所有 URL 都将基于此域名生成。

方式 1:调用 GetPlayInfo 接口

调用 GetPlayInfo 接口,传入您在步骤 2 中获取到的 Vid。成功调用后,系统会在响应体 Result.PlayInfoList 中返回播放 URL。

方式 2:手动拼接 URL

一个基础的访问 URL 由以下部分组成:[Protocol]://[PlaybackDomain]/[FileName]

  • [Protocol]:通常为 httpshttp。取决于您是否配置 SSL 证书
  • [PlaybackDomain]:您在点播控制台配置的加速域名。
  • [FileName]:您从 GetExecution 结果中获取的产物 FileName

拼接示例:假设您的加速域名为 play.example.com,获取到的文件 FileNamevideo.mp4,那么拼接后的 URL 为:https://play.example.com/video.mp4

说明

为了防止资源被盗链,视频点播支持 URL 鉴权功能。如果您在视频点播控制台开启了 URL 鉴权,仅拼接基础 URL 还无法直接访问,您必须为其附加一个动态计算的鉴权参数(如 auth_key)。

  • 如何生成鉴权参数:URL 鉴权需要遵循一套严格的签名算法。详细的计算方法和不同语言的实现示例,请参见 URL 鉴权概述
  • 附带鉴权的完整 URL 示例https://play.example.com/video.mp4?auth_key=1732529334-0-0-a1b2c3d4e5f6...