You need to enable JavaScript to run this app.
导航
添加字幕配置
最近更新时间:2024.08.07 16:08:33首次发布时间:2024.07.08 11:21:11

调用 CreateSubtitleTranscodePreset 接口,为转码流添加字幕配置。

注意事项

  • 计费说明:直播字幕为收费功能,费用详细说明请参考字幕计费
  • 请求频率:单用户请求频率限制为 10 次/秒
  • 使用限制:
    • 字幕配置为域名空间+AppName 级别的配置,且直播字幕功能依赖于转码配置,创建字幕配置时需确认存在相同域名空间+AppName 级别的转码配置。
    • 视频直播支持的字幕为稳定完整字幕,非实时动态矫正字幕,因此对应的转码流会增加 30 - 40 秒的直播延迟。
  • 生效说明:添加、变更或删除字幕配置,均需在新增、变更或删除配置操作后(3-5 分钟)重新推流并拉取转码流,变更后的字幕配置才会生效。

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=CreateSubtitleTranscodePreset&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringCreateSubtitleTranscodePreset接口名称。当前 API 的名称为 CreateSubtitleTranscodePreset
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述
VhostStringpush.example.com域名空间,即直播流地址的域名所属的域名空间。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的域名所属的域名空间。
AppStringlive应用名称,取值与直播流地址中 AppName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。
PresetNameStringOriginPreset字幕配置的名称,不可以与其他已有的配置名称重复。默认为空,表示由系统将自动分配配置名称。
DescriptionStringsubtitleconfig0001字幕配置的描述信息。
SuffixesArray of String["hd","bd"]关联的转码配置后缀,一个字幕配置支持关联多个转码配置后缀。

DisplayPreset

String

small

预设配置,使用预设配置是系统将自动对字体大小、字幕行数、每行最大字符数和边距参数(MarginVertical 和 MarginHorizontal)进行智能化适配。默认为空,表示不使用预设配置,支持的预设配置如下所示。

  • small :小字幕。
  • medium:中字幕。
  • large:大字幕。

说明

使用预设配置时,字幕行数、每行最大字符数、左右边距和底部边距参数不生效,系统将使用预设配置自动进行计算。

MaxRowNumber

Integer

0

字幕展示的行数,同时适用于原文字幕和译文字幕,支持的取值及含义如下所示。

  • 0:(默认值)根据字幕字数自动进行分行展示;
  • 1:每种字幕展示一行;
  • 2:每种字幕展示两行。

说明

  • 使用预设配置时,字幕行数为自动分行展示。
  • 超出行内字数限制时表示字幕将超过显示范围,此时字幕内容将被截断。

MaxCharNumber

Integer

35

设置在 16:9 分辨率场景下,每行字幕展示的最大字符数。

说明

  • 使用预设配置时,字幕每行最大字符数设置不生效。
  • 不使用预设配置时,字幕每行最大字符数必填。
  • 每个文字、字母、符号或数字均为一个字符。
  • 当屏幕分辨率改变时,屏幕上显示的每行文字数量会相应调整,以适应新的分辨率,确保文字的显示效果和阅读体验。

Position

Object of Position

-

字幕位置设置,通过设置字幕距离画面左右边距和底部边距来指定字幕位置。

说明

  • 使用预设配置时,字幕位置设置不生效。
  • 不使用预设配置时,字幕位置设置必填。
SourceLanguageObject of SourceLanguage-原文字幕展示参数配置。
TargetLanguageArray of TargetLanguage-译文字幕展示参数配置列表,当前最多支持配置一种译文。
HotWordListArray of String["视频直播","赛事直播","智能家居"]原文字幕识别时使用的热词词库,总长度不超过为 10000 个字符,默认为空。
GlossaryWordListArray of String["Artificial Intelligence","Machine Learning","AI"]原文翻译成译文时使用的热词词库,总长度不超过 10000 个字符,默认为空。

Position

参数类型是否必选示例值描述
MarginVerticalFloat0.5字幕距离画面底部的边距与画面高度的占比,使用归一化百分表示,取值范围为 [0,0.5]。
MarginHorizontalFloat0.2字幕距离画面两侧的边距与画面宽度的占比,使用归一化百分表示,取值范围为 [0,0.2]。

SourceLanguage

参数类型是否必选示例值描述

Display

Boolean

true

是否展示原文字幕,取值及含义如下所示。

  • true:展示,此时将展示原文和译文双语字幕
  • false:不展示,此时将只展示译文字幕。

说明

原文字幕语言和译文字幕语言相同时,仅展示译文字幕。

Language

String

zh

原文字幕的语言,取值及含义如下所示。

  • zh:中英混合;
  • en:英语;
  • ko:韩语;
  • ja:日语。

Font

String

siyuanheiti

原文字幕的字体,原文字幕字体根据原文字幕语言取值不同而不同,取值及含义如下所示。

  • 当原文字幕的语言是 zh 时,支持以下字体取值。
    • siyuanheiti:思源黑体;
    • songtixi:宋体细;
    • songticu:宋体粗;
    • heitifan:黑体繁;
    • kaiti:楷体。
  • 当原文字幕的语言是 en 时,支持以下字体取值。
    • inter:Inter;
    • roboto:Roboto;
    • opposans:OPPOSans;
    • siyuansongti:思源宋体;
    • montserrat:Montserrat。
  • 当原文字幕的语言是 koja 时,支持 notosans(Noto Sans) 字体。

FontColor

String

0xFF0000@0.5

原文字幕的字体颜色,支持以下几种方法进行定义。

  • 支持以 0x 或 # 开头,后面跟着十六进制颜色 RGB 值,再跟着 @+十六进制/百分比来表示的透明度值,来定义字幕的字体颜色。例如,设置 RGB 值为 FF0000,透明度为 5%的颜色时,您可以传入 0xFF0000@0x800xFF0000@0.5#FF0000@0x80#FF0000@0.5
  • 支持使用前端框架 FFmpeg 规定的颜色关键字,来定义字幕的字体颜色。例如,AliceBlue 表示 0xF0F8FF、AntiqueWhite 表示 0xFAEBD7、Black 表示 0x000000 等。

说明

查看详细颜色定义方法及更多颜色关键字,请参考 FFmpeg 的颜色定义语法

BorderObject of Border-原文字幕的字体描边配置。

TargetLanguage

参数类型是否必选示例值描述

Language

String

en

译文字幕的语言,取值及含义如下所示。

  • zh:中英混合;
  • zh-Hant:繁体中文;
  • en:英语;
  • ko:韩语;
  • ja:日语;
  • ar:阿拉伯语;
  • de:德语;
  • es:西班牙语;
  • fr:法语;
  • hi:印地语;
  • pt:葡萄牙语;
  • ru:俄语;
  • vi:越南语;
  • th:泰语。

Font

String

inter

译文字幕的字体,译文字幕字体根据译文字幕语言取值不同而不同,取值及含义如下所示。

  • 当译文字幕的语言是 zh 时,支持以下字体取值。
    • siyuanheiti:思源黑体;
    • songtixi:宋体细;
    • songticu:宋体粗;
    • heitifan:黑体繁;
    • kaiti:楷体。
  • 当译文字幕的语言是 zh-Hant 时,支持 siyuanheiti (思源黑体)字体。
  • 当译文字幕的语言是 en 时,支持以下字体取值。
    • inter:Inter;
    • roboto:Roboto;
    • opposans:OPPOSans;
    • siyuansongti:思源宋体;
    • montserrat:Montserrat。
  • 当译文字幕的语言是 kojaardeesfrhiptruvith 时,支持 notosans(Noto Sans) 字体。

FontColor

String

Black

译文字幕的字体颜色,支持以下几种方法进行定义。

  • 支持以 0x 或 # 开头,后面跟着十六进制颜色 RGB 值,再跟着 @+十六进制/百分比来表示的透明度值,来定义字幕的字体颜色。例如,设置 RGB 值为 FF0000,透明度为 5%的颜色时,您可以传入 0xFF0000@0x800xFF0000@0.5#FF0000@0x80#FF0000@0.5
  • 支持使用前端框架 FFmpeg 规定的颜色关键字,来定义字幕的字体颜色。例如,AliceBlue 表示 0xF0F8FF、AntiqueWhite 表示 0xFAEBD7、Black 表示 0x000000 等。

说明

查看详细颜色定义方法及更多颜色关键字,请参考 FFmpeg 的颜色定义语法

BorderObject of Border-译文字幕的字体描边配置。

Border

参数类型是否必选示例值描述
WidthInteger2描边的宽度,单位为 px。

Color

String

White

描边的颜色,支持以下几种方法进行定义。

  • 支持以 0x 或 # 开头,后面跟着十六进制颜色 RGB 值,再跟着 @+十六进制/百分比来表示的透明度值,来定义字幕的字体颜色。例如,设置 RGB 值为 FF0000,透明度为 5%的颜色时,您可以传入 0xFF0000@0x800xFF0000@0.5#FF0000@0x80#FF0000@0.5
  • 支持使用前端框架 FFmpeg 规定的颜色关键字,来定义字幕的字体颜色。例如,AliceBlue 表示 0xF0F8FF、AntiqueWhite 表示 0xFAEBD7、Black 表示 0x000000 等。

说明

查看详细颜色定义方法及更多颜色关键字,请参考 FFmpeg 的颜色定义语法

返回参数

本接口无特有的返回参数。更多信息请见返回结构

请求示例

POST https://live.volcengineapi.com?Action=CreateSubtitleTranscodePreset&Version=2023-01-01
{
    "Vhost": "push.example.com",
    "App": "live",
    "PresetName": "OriginPreset",
    "Description": "subtitleconfig0001",
    "Suffixes": [
        "hd",
        "bd"
    ],
    "DisplayPreset": "small",
    "MaxRowNumber": 0,
    "Position": {
        "MarginVertical": 0.5,
        "MarginHorizontal": 0.2
    },
    "SourceLanguage": {
        "Display": true,
        "Language": "zh",
        "Font": "siyuanheiti",
        "FontColor": "0xFF0000@0.5",
        "Border": {
            "Width": 2,
            "Color": "white"
        }
    },
    "TargetLanguage": [
        {
            "Language": "en",
            "Font": "inter",
            "FontColor": "Black",
            "Border": {
                "Width": 4,
                "Color": "white"
            }
        }
    ],
    "HotWordList": [
        "视频直播",
        "赛事直播",
        "智能家居"
    ],
    "GlossaryWordList": [
        "Artificial Intelligence",
        "Machine Learning",
        "AI"
    ]
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSubtitleTranscodePreset",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
500InternalError.Presetan internal error related to preset occurred, please contact the administrator.出现与功能配置相关的内部错误,请联系技术支持
502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持