You need to enable JavaScript to run this app.
视频点播

视频点播

复制全文
视频 AI 应用
OCR 提取字幕
复制全文
OCR 提取字幕

视频点播 OCR 提取字幕功能依托于光学字符识别技术,能够自动识别您输入的视频文件中的所有视觉文本(如硬字幕、海报文字、LOGO 文字等),输出为一份带时间戳的结构化文本数据。这帮助您将原本固化在视频画面中、无法访问的文字信息,转化为可搜索、可编辑的结构化数据。该功能有助于实现硬字幕翻译、视频内容合规审核以及构建视频内容搜索引擎等功能。

本文档将指导您如何通过调用视频点播 OpenAPI 实现 OCR 提取字幕功能。

适用场景

  • 视频内容索引与检索:提取视频中的所有文字信息,建立内容索引库,实现通过关键词快速检索视频片段。
  • 内容审核与合规:快速识别视频中的文字内容,用于敏感词检测、版权信息核查等内容合规审查场景。
  • 字幕提取与再创作:从无字幕轨的视频中提取硬字幕,作为生成 SRT/WebVTT 字幕或进行二次创作的基础。
  • 数据分析与挖掘:将海量视频中的视觉文本数据化,用于市场分析、品牌曝光统计等商业智能应用。

能力与限制

项目

说明

输入文件格式

支持 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 等主流视频格式。

输入分辨率

支持 240p~4k。

输入文件时长

单文件时长不得超过 2 小时。

说明

任务处理时长约为输入时长的 1.5 倍。例如,处理一段 10 分钟的视频,约需 15 分钟。

支持语言

支持中文和英文。

输出产物

结构化文本数据(JSON 格式),包含识别出的文字内容和对应的时间戳。

计费说明

使用 OCR 提取字幕功能会产生以下费用:

  • OCR 提取字幕费用:按输入视频文件时长计费,单价为 0.25 元/分钟。假设处理一段 100 分钟的视频,OCR 费用为 100 分钟 × 0.25 元/分钟 = 25 元。
  • 媒资存储费用:您上传用于识别的原始视频文件,需要存储在视频点播空间中,这将根据存储量和存储时长产生费用。详见媒资存储计费

前提条件

实现流程

步骤 1:提交 OCR 提取字幕任务

调用 StartExecution 接口提交 OCR 提取字幕任务。以下为任务的核心参数配置。关于完整的请求参数列表和详细说明,请参见 StartExecution API 参考

  • Input: 指定输入文件。
    • Type: 设置为 VidDirectUrl
    • Vid / DirectUrl: 提供待处理文件的 Vid 或 FileName 信息。
  • Operation.Task.Type: 必须设置为 Ocr

以下为提交任务的示例:

POST https://vod.volcengineapi.com?Action=StartExecution&Version=2025-01-01
{
  "Input": {
    "Type": "Vid",
    "Vid": "your_video_id"
  },
  "Operation": {
    "Type": "Task",
    "Task": {
      "Type": "Ocr",
      "Ocr": {}
    }
  }
}

成功提交后,系统将返回任务的唯一标识 RunId。请务必保存好此 ID,以便后续查询结果。

步骤 2:获取任务结果

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

  • 主动查询:轮询 GetExecution 接口并传入步骤 1 中获取的 RunId 来获取任务结果。当返回结果中的 Status 字段值为 Success 时,表示任务已成功完成。
  • 配置事件通知:
    1. 参考事件通知概述文档,配置一个用于接收回调的服务地址。在订阅事件时,勾选 媒体处理任务执行完成事件
    2. 当任务完成时,您的服务将收到一个 EventTypeExecutionComplete 的 HTTP POST 请求。请求体中的 Data 对象即为任务结果。您可以根据 Data.Status 字段判断任务是否成功,并解析 Data.Output.Task.Ocr 获取产物信息。

核心结果字段解析:

  • Duration: 处理的视频总时长(秒)。
  • Texts: 识别出的文本片段数组。每个片段都是一个对象,包含了:
    • Text: 识别出的文本内容。如果画面上有多行文本,将用换行符 \n 分隔。
    • Start / End: 该文本在视频中出现的起止时间(秒)。

GetExecution 获取成功结果的示例:

{
  "ResponseMetadata": {
    "RequestId": "20251110210932ABCDE****FGHIJ",
    "Action": "GetExecution",
    "Version": "2025-01-01",
    "Service": "vod",
    "Region": "cn-north-1"
  },
  "Result": {
    "RunId": "qb:f26953726eb6****ff0431e7b",
    "Status": "Success",
    "Input": {
      "Type": "Vid",
      "Vid": "v02399g10001xxxxxxxxxxxxxxxxxxxx"
    },
    "Operation": {
      "Type": "Task",
      "Task": {
        "Type": "Ocr",
        "Ocr": {}
      }
    },
    "Output": {
      "Type": "Task",
      "Task": {
        "Type": "Ocr",
        "Ocr": {
          "Duration": 152.085,
          "Texts": [
            {
              "Text": "从车马邮路",
              "Start": 1.44,
              "End": 2.64
            },
            {
              "Text": "到万物互联",
              "Start": 3.12,
              "End": 4.0
            },
            {
              "Text": "信息传递改变着我们的生活方式",
              "Start": 8.08,
              "End": 10.36
            }
            // ... more texts
          ]
        }
      }
    }
  }
}
最近更新时间:2025.12.08 11:50:05
这个页面对您有帮助吗?
有用
有用
无用
无用