OCR 文本识别功能可以自动识别视频帧中的文字内容,将视觉文本(如硬字幕、海报文字、LOGO 文字等)转换为带有时间戳的结构化文本,便于后续的内容分析和处理。本文指导您如何通过调用 OpenAPI 实现视频点播的 OCR 文本识别功能。
说明
任务处理时长约为输入时长的 1.5 倍。例如,处理一段 10 分钟的视频,约需 15 分钟。
使用 OCR 文本识别功能会产生以下费用:
调用 StartExecution 接口提交 OCR 文本识别任务。核心参数:
Input: 指定输入视频的来源,支持 Vid 和 DirectUrl 模式。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,以便后续查询结果。
任务提交后,系统会在后台进行异步处理。您可通过以下方式获取任务结果:
RunId 来获取任务结果。当返回结果中的 Status 字段值为 Success 时,表示任务已成功完成。EventType 为 ExecutionComplete 的 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 ] } } } } }