Captions

注意:2024 年 3 月 13 日,YouTube 宣布将弃用 captions.insertcaptions.update API 端点的 sync 参数。字幕自动同步功能仍可在 YouTube 创作者工作室中使用。如需了解详情,请参阅 API 修订历史记录

caption 资源表示 YouTube 字幕轨道。一个字幕轨道只能与一个 YouTube 视频相关联。

方法

该 API 支持对 captions 资源使用以下方法:

list
检索与指定视频关联的字幕轨道列表。请注意,API 响应不包含实际字幕,并且 captions.download 方法可用于检索字幕轨道。 立即试用
insert
上传字幕轨。 立即试用
update
更新字幕轨。更新字幕轨道时,您可以更改轨道的草稿状态,为轨道上传新的字幕文件,或者同时执行这两项操作。 立即试用
下载
下载字幕轨。除非请求为 tfmt 参数指定了值,否则系统会将字幕轨道返回为其原始格式;除非请求为 tlang 参数指定了值,否则系统会将字幕轨道返回为其原始语言。立即试用
delete
删除指定的字幕轨道。 立即试用

资源表示法

以下 JSON 结构显示了 captions 资源的格式:

{
  "kind": "youtube#caption",
  "etag": etag,
  "id": string,
  "snippet": {
    "videoId": string,
    "lastUpdated": datetime,
    "trackKind": string,
    "language": string,
    "name": string,
    "audioTrackType": string,
    "isCC": boolean,
    "isLarge": boolean,
    "isEasyReader": boolean,
    "isDraft": boolean,
    "isAutoSynced": boolean,
    "status": string,
    "failureReason": string
  }
}

属性

下表定义了此资源中显示的属性:

属性
kind string
用于标识 API 资源的类型。该值将为 youtube#caption
etag etag
此资源的 ETag。
id string
此 ID 用于唯一标识字幕轨道。
snippet object
snippet 对象包含字幕的基本详细信息。
snippet.videoId string
此 ID 用于唯一标识与字幕轨道相关联的视频。YouTube 使用此 ID。
snippet.lastUpdated datetime
字幕轨道上次更新的日期和时间。该值采用 ISO 8601 格式指定。
snippet.trackKind string
字幕轨道的类型。

此属性的有效值如下:
  • ASR - 使用自动语音识别功能生成的字幕轨道。
  • forced - 在播放器中未选择任何其他轨道时播放的字幕轨。例如,如果视频中显示的是外星人用外星语说话,则可以添加强制字幕轨道,以便仅显示外星语字幕。
  • standard - 常规字幕轨。这是默认值。
snippet.language string
字幕轨道的语言。属性值为 BCP-47 语言标记。
snippet.name string
字幕轨道的名称。该名称应在播放期间作为选项显示给用户。支持的名称长度上限为 150 个字符。
snippet.audioTrackType string
与字幕轨道关联的音轨类型。

此属性的有效值包括:
  • commentary - 字幕轨与包含评论的备用音轨相对应,例如目录评论。
  • descriptive - 字幕轨道对应于包含额外描述性音频的备用音轨。
  • primary - 字幕轨道与视频的主要音轨相对应,即通常与视频相关联的音轨。
  • unknown - 这是默认值。
snippet.isCC boolean
指示曲目是否包含面向失聪人士和听障人士的字幕。默认值为 false
snippet.isLarge boolean
指示字幕轨道是否针对视障人士使用大号文本。默认值为 false
snippet.isEasyReader boolean
指示字幕轨道的格式是否为“简单易读”,即字幕的语言学习者水平为第三级。默认值为 false
snippet.isDraft boolean
指示字幕轨道是否为草稿。如果值为 true,则轨道不公开显示。默认值为 false
snippet.isAutoSynced boolean
指明 YouTube 是否已将字幕轨道与视频中的音频轨道同步。如果在上传字幕轨道时明确请求了同步,则值为 true。例如,在调用 captions.insertcaptions.update 方法时,您可以将 sync 参数设置为 true,以指示 YouTube 将上传的曲目同步到视频。如果该值为 false,YouTube 会使用上传的字幕轨道中的时间码来确定何时显示字幕。
snippet.status string
字幕轨道的状态。

此属性的有效值如下:
  • failed
  • serving
  • syncing
snippet.failureReason string
导致 YouTube 无法处理字幕轨道的原因。只有当 state 属性的值为 failed 时,此属性才会存在。

此属性的有效值为:
  • processingFailed - YouTube 未能处理上传的字幕轨道。
  • unknownFormat - 系统无法识别字幕轨道的格式。
  • unsupportedFormat - 不支持字幕轨道的格式。