视频字幕提取

本文介绍了利用智能媒体管理(IMM)媒体转码接口来实现视频字幕提取的能力。

功能简介

视频字幕提取是指从视频文件中将字幕信息分离出来的技术能力。通过提取字幕,用户可以单独访问和编辑视频中的文本信息,这对于多语言支持、无障碍观影以及字幕创作均具有重要意义。

006

使用场景

  • 多语言支持:字幕提取技术能够有效地支持多语言字幕的制作,从而便利不同语言观众对视频内容的理解。

  • 翻译与本地化:通过提取字幕,翻译人员能够迅速获取视频中的文本信息并进行翻译,从而高效地创建本地化版本,使其符合特定地区的文化和语言习惯。

  • 配音和语音识别:字幕提取为配音工作提供了重要的文本基础,配音人员能够依据提取的字幕进行录制。同时,语音识别技术可以借助字幕文本进行训练与优化。

  • 视频编辑与制作:视频编辑人员能够提取并整理音频内容的字幕,从而便于对文本内容进行编辑、校对和改进,以提升最终产品的质量。

使用限制

视频字幕提取仅支持提取文字字幕图形字幕,不支持提取嵌入视频流图像中的字幕。如您有其他需求,请联系我们

如何使用

前提条件

步骤一:上传文件

请使用OSS管理控制台将媒体文件上传至IMM项目所在地域的Bucket。

image

步骤二:使用IMM字幕提取

调用CreateMediaConvertTask - 创建媒体转码任务接口创建视频字幕提取任务。

视频字幕提取的过程通常包括以下几个步骤:

  1. 字幕格式识别:识别视频文件中嵌入的字幕格式,包括常见的 SRT、ASS、WebVTT 以及嵌入式字幕流。

  2. 字幕数据提取:从视频文件中提取字幕文本及其时间戳。提取过程确保所有字幕内容,包括发言者名称、时间标记和格式,能够被准确获取。

  3. 文本处理:对提取的字幕文本进行必要的处理或编辑,这可能包括去除冗余信息、调整格式、进行语言翻译,以及校对拼写和语法。

  4. 输出与保存:将处理后的字幕文本以指定格式(如srt、ass等)保存,以便于后续的使用、编辑或上传至视频平台。

参数示例

以下示例使用IMM项目test-project,文件oss://test-bucket/video-demo/test.mp4来进行视频字幕提取处理。

更多有关媒体处理各功能介绍和使用,请参见媒体转码

说明
  • 您可以通过OpenAPI 门户使用媒体转码接口对视频文件进行处理,可参考SDK代码。

  • 视频字幕提取请勿设置Target.URITarget.Container参数。

  • 推荐配置字幕输出URI为"oss://test-bucket/objectPrefix-{streamindex}.{autoext}",若不设置streamindex变量则可能导致字幕相互覆盖。

提取视频中的所有字幕为webvtt格式字幕

  • 字幕格式:webvtt

  • 输出字幕文件保存路径:oss://test-bucket/video-demo/subtitle-%d.vtt

  • 转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”

SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。

请求参数如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/test.mp4"
    }
  ],
  "Targets": [
    {
      "Subtitle": {
        "ExtractSubtitle": {
          "Format": "webvtt",
          "URI": "oss://test-bucket/video-demo/subtitle-{streamindex}.{autoext}"
        }
      }
    }
  ]
}

提取视频中的所有字幕为srt格式字幕

  • 字幕格式:srt

  • 输出字幕文件保存路径:oss://test-bucket/video-demo/subtitle-%d.srt

  • 转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”

SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。

请求参数如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/test.mp4"
    }
  ],
  "Targets": [
    {
      "Subtitle": {
        "ExtractSubtitle": {
          "Format": "srt",
          "URI": "oss://test-bucket/video-demo/subtitle-{streamindex}.{autoext}"
        }
      }
    }
  ]
}

费说明

在视频字幕提取的过程中, IMM 侧会产生以下计费项,详细定价请参见IMM计费项。OSS 和 IMM 两侧会产生以下计费项:

  • OSS 侧: 详细定价请参见OSS产品定价

    API

    计费项

    说明

    GetObject

    GET 类型请求

    根据成功的请求次数计算请求费用。

    低频访问数据取回容量

    如果取回的数据是低频访问数据,会产生低频访问数据取回容量的费用,按数据取回量计费。

    归档直读数据取回容量

    如果读取的是归档的ObjectBucket开启了归档直读,会产生归档直读数据取回容量费用,根据取回的数据容量大小计费。

    传输加速

    如果开启了传输加速功能且使用传输加速域名访问您的Bucket会产生传输加速费用,根据数据容量大小计费。

    PutObject

    PUT类型请求

    根据成功的请求次数计算请求费用。

    存储费用

    根据Object的存储类型、大小和时长收取存储费用。

    HeadObject

    GET 类型请求

    根据成功的请求次数计算请求费用。

  • IMM 侧: 详细定价请参见IMM计费项

    重要

    自北京时间 2025 年 7 月 28 日 11:00 起,IMM 视频字幕提取服务将由原来的免费模式升级为计费模式。更多信息,请参见IMM计费调整公告

    API

    计费项

    说明

    CreateMediaConvertTask

    ExtractSubtitleText

    根据成功提取的字幕流数量计算视频文字字幕提取的请求费用。

    CreateMediaConvertTask

    ExtractSubtitleImage

    根据成功提取的字幕流总时长计算视频图片字幕提取的请求费用。