媒体服务轨道 API

Media Services logo v3


警告

Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南

媒体服务资产包含关联的 Azure 存储帐户中的媒体文件。 这些文件包含音频、视频和文本轨道的数据。 利用跟踪 API,你可以了解和管理资产中的轨道。 DASH 或 HLS 视频播放器使用这些轨道向观众呈现音频、视频和字幕(文本)。 媒体服务流式处理终结点在请求时通过 DASH 清单或 HLS 播放列表将有关轨道的信息传递给播放器。

使用轨道 API,可以:

  • 获取资产中的音频、视频和文本轨道列表。
  • 添加或移除文本轨道。
  • 添加或移除音频轨道。
  • 指定文本或音频轨道的辅助功能属性。
  • 获取文本轨道的下载 URL,以便对该轨道进行编辑,然后将其上传回资产。
  • 在视频播放器中显示或隐藏文本轨道。

注意

在点播视频 (VOD) 资产上,你只能添加或更新文本曲目。 此外,实时传送视频流资产不支持音频后期绑定。

文本轨道

将文本轨道与本地生成的媒体配合使用

在本地制作视频并导出字幕后,可以将这些字幕上传到包含点播媒体的资产。

将文本轨道与本地生成的文本配合使用的常规工作流:

  1. 创建视频并将字幕导出到 VTT 或 TTML 格式的文件中。
  2. 翻译或编辑 VTT 或 TTML 文件,并保存以下内容的副本:
    1. 其他语言的轨道,具有满足辅助功能要求的描述性文本。
    2. 表示导演评论的其他文本的轨道。
  3. 重要提示:必须将语言指示符添加到 VTT 标头,才能在客户端播放器中显示正确的语言。 例如:
    WEBVTT
    Language: en-us
    
  4. 将视频上传到媒体服务。
  5. 创建转换和作业以对视频进行编码。
  6. 上传其他文本轨道。

使用带有实时听录的文本轨道

当为实时事件打开实时听录时,除了观看者在直播视频播放器上看到的实时听录轨道之外,还会创建一个额外的 WebVTT 文本轨道。 此 WebVTT 文件包含实时脚本的最佳版本,其中包含完整的句子,而不是部分的实时结果。 可以在整个脚本可用并删除实时输出之后下载 .vtt 文件。

警告

最终自动生成的实时听录 VTT 文件会延迟处理。 除非等待几分钟再删除实时输出,否则文件中的内容将被截断。 此外,实时听录不可用于一个实时事件的多个输入流。

使用实时听录文本跟踪的常规工作流:

  1. 创建启用了实时听录并选择了源语言的实时事件。
  2. 实时事件结束后,请等待几分钟,然后删除实时输出。 存档的资产将可用于按需流式处理。 观看者仍然可以访问有效的流式处理 URL。
  3. 列出存档资产中的轨道,或在门户中查看它们。 将有一个包含 NBest 听录的 WebVTT 文件。 它将具有 .vtt 扩展名。 该文件命名为 auto-generated-best_XXX.vtt
  4. 下载并编辑 WebVTT 文件。
  5. 要以多种语言呈现文本轨道,请将源文本轨道翻译为这些语言,并使用 .vtt 扩展名将每种语言版本的文本轨道保存为单独的文件。
  6. 上传源语言轨道以及每种语言的文本轨道。
  7. 如果你不使用 Azure 门户上传文件,请编辑(或更新).ism 文件,以通过以下方式告诉播放器要使用哪些文本轨道以及它们的标签和可见性:
    1. 使用跟踪 API 来使用 SDK 之一或 CLI 以编程方式更新清单:
      1. Node.JS
      2. Python
      3. .Net
      4. CLI

重要

更新 .ism 文件时,请确保隐藏实时听录文本轨道,并以适合观看者的语言显示文本轨道。

音频轨道

你可以向资产添加其他音频轨道,以便为观看者提供不同语言的音频、添加用于辅助功能的描述性音频或添加导演的评论。

音频轨道的常规工作流

  1. 为实时事件创建其他音频轨道。 它们可以是不同语言的音频,也可以是用于辅助功能的描述性音频。 还可以对导演的评论使用音频轨道。
  2. 将音频轨道上传到存档的资产。
  3. 通过在门户中编辑清单文件或使用 REST 或 SDK 更新跟踪数据来更新跟踪数据。

注意

移除音频或文本轨道时,不会从存储容器中移除基础文件。 媒体服务将动态打包程序(流式处理终结点)设置为不显示视频播放器请求的清单或播放列表中有关轨道的信息。

有关详细的轨道 API 步骤,请参阅以下示例。

示例

操作指南、教程和快速入门