火山引擎视频点播针对视频字幕提供精细化检测与擦除功能,实现高质量无痕擦除效果,最大程度还原视频画面。该功能支持擦除多语言字幕,还支持通过框选字幕位置进行擦除操作,避免误擦除,适用于短剧二次创作、教学视频制作、海外内容本地化等多种场景。本文为您详细介绍如何通过视频点播 OpenAPI 实现精细化字幕擦除。
无误擦、无漏擦、高质量擦除效果
说明
一般情况下,输出视频的分辨率与输入视频的分辨率保持一致。输入视频的分辨率大于 1080p 时,则默认按照 1080p 输出。
精细化字幕擦除功能按实际输出视频时长计费。我们提供两种使用方式,其计费价格有所不同:
使用方式 | 价格(元/分钟) | 适用场景 |
|---|---|---|
通过 Aideo Agent | 1 | 推荐用于快速体验、效果评测和轻量级的字幕擦除任务。 |
通过 | 4 | 推荐用于程序化、大批量的字幕擦除任务,适合深度集成到您的生产工作流中。 |
Aideo Agent 是火山引擎提供的一款视频 AI 应用智能体。您可以通过 Aideo Agent 快速、直观地体验字幕擦除的效果,或处理少量的视频任务。您无需编写任何代码,只需通过自然语言对话即可完成操作。关于 Aideo Agent 的详细介绍、开通方式和使用方法,请参见 Aideo Agent。
当您需要将字幕擦除能力深度集成到自己的业务系统,或进行大规模自动化处理时,推荐使用 OpenAPI 的方式。
调用 StartExecution 接口提交精细化字幕擦除任务。不同场景下的参数配置说明如下:
Erase.Mode 设为 Auto,再将 Erase.Auto.Type 设置为 Subtitle(仅字幕)或 Text(字幕和其它渲染文本),以擦除指定类型的文本。Erase.Auto.Locations 来指定擦除框,仅擦除框内经 OCR 识别的文本。假设您想要将下图橙色区域作为裁剪区域,则参数设置如下:
TopLeftX 设为 b1TopLeftY 设为 a1BottomRightX 设为 b2BottomRightY 设为 a2Erase.Mode 设为 Auto,Erase.Auto.Type 设为 Subtitle, Erase.Auto.SubtitleFilter 设为空 JSON 对象({}),即可启用默认的竖屏短剧字幕擦除配置。此时系统会自动识别并擦除满足以下条件的中英文字幕:
Erase.Mode 设为 Manual,并设置 Erase.Manual.Locations 来手动指定擦除框。不同参数配置的效果展示如下:
参数配置 | 效果展示 |
|---|---|
| |
| |
|
以下为通过 Vid 提交精细化字幕擦除任务的请求示例:
{ "Input": { "Type": "Vid", "Vid": "v02399g10001d1600naljh********" }, "Operation": { "Type": "Task", "Task": { "Type": "Erase", "Erase": { "Mode": "Auto", "Auto": { "Type": "Subtitle", "SubtitleFilter":{} }, "WithEraseInfo": true } } } }
调用成功后,您将从响应中获取到任务的 RunId,可用于后续查询任务结果。
通过以下方式获取精细化字幕擦除任务的处理结果:
StartExecution 接口返回的 RunId。调用成功后,通过返回参数 Output.Task.Erase 获取结果。Output.OutputTask 获取结果。说明
获取已擦除字幕视频的 FileName 后,可通过自行拼接方式构建该视频的 URL。
以下为精细化字幕擦除任务的处理结果示例:
{ "ResponseMetadata": { "RequestId": "2025061319172136839B74F9C61BF****", "Action": "GetExecution", "Version": "2023-07-01", "Service": "vod", "Region": "cn-north-1" }, "Result": { "RunId": "hb:e3eb1668d43fa761420ac95057****", "Status": "Success", "Meta": { "SpaceName": "test-doc", "Trigger": "API", "CreateTime": "2025-06-13T09:34:35Z", "StartTime": "2025-06-13T09:34:36Z", "EndTime": "2025-06-13T09:41:25Z" }, "Control": { "ClientToken": "12345" }, "Input": { "Type": "Vid", "Vid": "v0346fg10002d15v18qljht1um****" }, "Operation": { "Type": "Task", "Task": { "Type": "Erase", "Erase": { "Mode": "Manual", "Manual": { "Locations": [ { "RatioLocation": { "TopLeftX": 0.1, "TopLeftY": 0.5, "BottomRightX": 0.988888, "BottomRightY": 0.9999 } } ] }, "WithEraseInfo": true } } }, "Output": { "Type": "Task", "Task": { "Type": "Erase", "Erase": { "Duration": 57.099, "File": { "Size": "152295931", "FileName": "0b7c1420fee342e39792b847b8a****" }, "Info": { "Width": 1080, "Height": 1920, "Areas": [ { "Start": 0, "End": 57.08, "PixelRectangle": [ { "TopLeftX": 108, "TopLeftY": 960, "BottomRightX": 1067, "BottomRightY": 1919 } ] } ] } } } } } }
若出现非字幕内容类型被误擦除的情况,建议您采用框选擦除,手动增加擦除框,仅对框内区域识别到的字幕进行擦除,降低误擦除的概率。