字幕提取

视频点播工作流2.0支持集成智能媒体服务(IMS)的字幕提取能力,支持从视频画面中自动识别并提取图形字幕 (即硬字幕),输出为标准 SRT 格式文件。本文为您介绍如何在工作流使用字幕提取。

说明

目前已开通的区域为:

  • 华东2(上海)、亚太东南 1(新加坡)、美洲(美国-西部)。

前提条件

计费说明

视频点播工作流的字幕提取功能由智能媒体服务(IMS)提供,使用需购买【IMS订阅服务】并支付使用费用,详情请参见:智能生产

使用说明

步骤一:通过控制台配置字幕提取工作流

目前仅支持通过点播控制台创建工作流。

  1. 登录视频点播控制台

  2. 在左侧导航栏选择配置管理 > 媒体处理配置 > 工作流管理,进入到工作流管理页面。

  3. 单击添加工作流模板,输入工作流名称。

  4. 在工作流编辑页面,点击开始节点右侧的+按钮,添加字幕提取节点。image

  5. 根据页面提示,在右侧面板完成参数配置:image

    • 节点名称:自定义字幕提取节点名称。

    • 字幕语言:支持中文、英文、中英混合三种语言。

    • 采样帧率(fps):采样帧率越高,识别越精准但处理时间更长,范围2-10,建议常规视频选5,快节奏视频选10。

    • 示例素材:用于字幕设置的示例视频,实际不参与工作流任务,支持mp4、webm、mov、m3u8格式的视频。

    • 识别范围:默认(视频底部1/4区域),也支持手动框取。

    • 主字幕轨道提取:开启后,仅提取视频的主字幕轨道(适用于电视剧、电影),关闭后提取所有区域内的字幕(适用于直播、UGC内容)。

  6. 完成配置后点击确定,提交工作流模板生成工作流ID,请记录该ID用于后续上传时指定工作流。image

步骤二:触发工作流

使用创建的工作流处理视频,支持上传时或上传后发起任务。

通过控制台发起工作流处理

上传视频时发起

  1. 登录视频点播控制台

  2. 在左侧导航栏选择媒资库 > 音/视频,单击上传音/视频

  3. 上传音/视频界面,单击添加音/视频,选择上传方式、存储地址等参数后,选择用工作流处理,并指定为上一步创建的工作流。image

上传视频后发起

  1. 登录视频点播控制台

  2. 在左侧导航栏选择媒资库 > 音/视频,进入音/视频列表页面。

  3. 单击目标音视频操作列的媒体处理,选择用工作流处理,并指定为上一步创建的工作流。image

通过OpenAPI发起工作流处理

上传视频时发起

上传视频后发起

调用提交点播工作流作业接口,将WorkflowId参数指定为上一步创建的工作流ID,可以立即对音视频进行工作流处理。

步骤三:结果查询

通过视频点播控制台查询

  1. 登录视频点播控制台

  2. 在左侧导航栏选择媒资库 > 短视频素材,进入短视频素材列表页面。

  3. 在短视频素材列表页面,找到由工作流生成的字幕素材(可通过源视频名称、创建时间等筛选)。

  4. 当视频翻译处理完成后,即可查看:

    • 字幕提取输出的素材ID。

    • 输出素材的存储地址。

    • 文件大小、素材链接(可复制链接下载素材)等详细信息。

通过工作流任务回调查询

  1. 配置HTTP或轻量消息队列(原MNS)回调

  2. 当工作流任务完成时,系统会触发工作流任务完成事件,并通过配置的HTTP或轻量消息队列(原MNS)回调推送完整结果。关键字段说明如下:

    1. Status:任务整体状态(Succeed/Failed)。

    2. ActivityResults:JSON 字符串,包含各节点(如 VideoTranslation)的执行详情,其中 Result 字段内含翻译输出的 MediaIdJobId 等关键信息。

    3. TaskInput:原始输入媒体信息(如 Media ID、文件名等)。

  3. 解析回调消息体中的 ActivityResults,即可提取翻译生成的视频 MediaId 并用于后续播放或分发。

通过OpenAPI查询

字幕提取任务通过SubmitIProductionJob - 提交智能生产任务提交,返回JobIdQueryIProductionJob - 查询智能生产任务查询任务状态。

请求参数:

返回结果示例:

{
  "createTime": "2024-09-24T06:17:09Z",
  "finishTime": "2024-09-24T06:17:31Z",
  "functionName": "CaptionExtraction",
  "input": {
    "type": "OSS",
    "media": "oss://example-bucket/example-object.mp4"
  },
  "jobId": "270d****0d1a",
  "jobParams": "{\"fps\":10,\"roi\":[[0.5,1],[0,1]],\"sep\":false}",
  "output": {
    "type": "OSS",
    "media": "oss://example-bucket/output.srt"
  },
  "outputFiles": [
    "output.srt"
  ],
  "outputUrls": [
    "http://example-bucket.oss-region.aliyuncs.com/output.srt"
  ],
  "requestId": "********-****-****-****-************",
  "result": "{}",
  "status": "Success"
}
说明
  • StatusSuccess表示字幕提取完成。

  • 提取的SRT字幕文件可通过OutputUrls进行下载。