You need to enable JavaScript to run this app.
导航
精细化字幕擦除
最近更新时间:2025.11.10 15:44:12首次发布时间:2025.05.13 11:59:24
复制全文
我的收藏
有用
有用
无用
无用

火山引擎视频点播针对视频字幕提供精细化检测与擦除功能,实现高质量无痕擦除效果,最大程度还原视频画面。该功能支持擦除多语言字幕,还支持通过框选字幕位置进行擦除操作,避免误擦除,适用于短剧二次创作、教学视频制作、海外内容本地化等多种场景。本文为您详细介绍如何通过视频点播 OpenAPI 实现精细化字幕擦除。

优势特性

  • 高帧率 OCR 字幕检测:依托火山引擎高帧率 OCR 字幕检测算法,精准识别并定位短剧中的字幕内容。该技术针对短剧场景专门优化,不仅能准确区分需要擦除的字幕与需保留的剧情文本(剧情提示信息、剧名以及文字贴纸等),还采用高帧率抽帧确保无遗漏检测,为后续擦除奠定基础。
  • 字幕擦除区域图像修复:在图像修复环节,采用自主研发的 AIGC 算法,结合时序分析与多帧联合处理,智能重建擦除区域的画面。算法通过光流计算和特征匹配保持帧间稳定性,并运用深度学习生成逼真纹理,使修复后的画面与原始视频无缝融合,几乎看不出修改痕迹,实现高质量的字幕擦除效果。

应用场景

  • 短剧、出海短剧、电视剧
    • 二次创作:短剧、出海短剧或长剧客户需对视频进行混剪或二次创作时,可去除原视频中的字幕,以便依据自身创意添加新的字幕或音频,使视频内容更契合新的主题与风格。
    • 翻译剧:短剧客户需要将短剧在海外播放时,可先擦除原视频中的中文字幕,再添加准确、恰当的外文字幕,以助力不同语言背景的观众理解视频内容。同理,在引入海外短剧时,需擦除外文字幕并替换为中文字幕。
  • 教育与培训
    • 教学资源制作:教育工作者在制作教学视频过程中,可能会引用带有字幕的视频素材,然而这些字幕可能与教学内容不完全契合,甚至会对学生产生干扰。擦除原字幕并添加符合教学需求的字幕,有助于教学视频更为精准、清晰地传播知识。
    • 语言学习:在编制语言学习资料时,为使学习者更有效地开展听力训练、口语模仿等练习,可去除视频中的字幕,营造无字幕的语言环境,以提升学习者的语言能力。
  • 广告与营销
    • 广告制作:在制作广告视频时,为凸显产品或品牌信息,可去除原视频里的无关字幕,并重新设计与广告风格及宣传重点相匹配的字幕,从而增强广告的视觉冲击力与信息传递效能。
    • 多平台投放:在不同平台投放广告时,可依据平台特性与受众需求对字幕进行调整。擦除原有字幕并制作适配各平台的字幕,可增强广告的适应性并提升传播效果。

擦除效果示例

无误擦、无漏擦、高质量擦除效果


使用限制

  • 支持擦除的内容类型:精细化擦除当前仅支持擦除白色字幕内容。字幕的样式对擦除效果影响很大,白色、无黑色阴影、大小合适、非花字、横向排列的字幕更易于擦除。
  • 不适用于处理的字幕样式:竖向排列的字幕、超大字幕、透明度高的字幕,不适合用本功能处理。
  • 受保护的非字幕内容类型:精细化字幕擦除功能会尽量保护非字幕的文本,比如画面里的场景文字、备案信息、花字、地点信息、文字水印、剧情提示、人物提示、文字贴纸等。

说明

一般情况下,输出视频的分辨率与输入视频的分辨率保持一致。输入视频的分辨率大于 1080p 时,则默认按照 1080p 输出。

计费说明

精细化字幕擦除功能按实际输出视频时长计费。我们提供两种使用方式,其计费价格有所不同:

使用方式

价格(元/分钟)

适用场景

通过 Aideo Agent

1

推荐用于快速体验、效果评测轻量级的字幕擦除任务。

通过 StartExecution 接口

4

推荐用于程序化、大批量的字幕擦除任务,适合深度集成到您的生产工作流中。

前提条件

通过 Aideo Agent 进行字幕擦除

Aideo Agent 是火山引擎提供的一款视频 AI 应用智能体。您可以通过 Aideo Agent 快速、直观地体验字幕擦除的效果,或处理少量的视频任务。您无需编写任何代码,只需通过自然语言对话即可完成操作。关于 Aideo Agent 的详细介绍、开通方式和使用方法,请参见 Aideo Agent

调用 OpenAPI 进行字幕擦除

当您需要将字幕擦除能力深度集成到自己的业务系统,或进行大规模自动化处理时,推荐使用 OpenAPI 的方式。

步骤 1:提交精细化字幕擦除任务

调用 StartExecution 接口提交精细化字幕擦除任务。不同场景下的参数配置说明如下:

  • 选择擦除模式和类型:一般情况下,可将 Erase.Mode 设为 Auto,再将 Erase.Auto.Type 设置为 Subtitle(仅字幕)或 Text(字幕和其它渲染文本),以擦除指定类型的文本。
  • 指定擦除区域:若您对擦除区域有特殊需求,可通过设置 Erase.Auto.Locations 来指定擦除框,仅擦除框内经 OCR 识别的文本。假设您想要将下图橙色区域作为裁剪区域,则参数设置如下:
    • TopLeftX 设为 b1
    • TopLeftY 设为 a1
    • BottomRightX 设为 b2
    • BottomRightY 设为 a2
      Image
  • 特定场景配置:
    • 竖屏短剧场景:推荐将 Erase.Mode 设为 AutoErase.Auto.Type 设为 SubtitleErase.Auto.SubtitleFilter 设为空 JSON 对象({}),即可启用默认的竖屏短剧字幕擦除配置。此时系统会自动识别并擦除满足以下条件的中英文字幕
      • 位置:位于视频画面下方 50% 以内,且在横向偏中央的位置。
      • 大小:文字竖向高度在视频高度的 1%~10% 之间。
      • 颜色:白色。
    • 小语种字幕场景:如果需要擦除中英文以外的小语种字幕,推荐将 Erase.Mode 设为 Manual,并设置 Erase.Manual.Locations 来手动指定擦除框。

不同参数配置的效果展示如下:

参数配置

效果展示

  • Erase.ModeAuto
  • Erase.Auto.TypeSubtitle
  • Erase.Auto.SubtitleFilter 为空 JSON 对象
  • Erase.ModeAuto
  • Erase.Auto.TypeText
  • Erase.ModeManual
  • 设置 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,可用于后续查询任务结果。

步骤 2:获取任务处理结果

通过以下方式获取精细化字幕擦除任务的处理结果:

  • OpenAPI:调用 GetExecution 接口,传入步骤 1 中 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
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

常见问题

如果发生了非字幕的误擦,应该如何操作?

若出现非字幕内容类型被误擦除的情况,建议您采用框选擦除,手动增加擦除框,仅对框内区域识别到的字幕进行擦除,降低误擦除的概率。