设计输出目的地的路径 - MediaLive

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设计输出目的地的路径

如果您尚未设计完整的目标路径,请执行此步骤。如果您已经设计了路径,请转至在控制台上填写字段

设计路径
  1. 收集一个或多个容器的数据端点。您之前从 MediaStore 用户那里获得了此信息。例如:

    a23f.data.mediastore.us-west-2.amazonaws.com

  2. 设计目标路径中跟随数据端点的部分(for MediaStore)。

输出路径的语法

HLS输出始终包含三类文件:

  • 主清单

  • 孩子表现出来

  • 媒体文件

下表描述了构成这三类文件目标路径的各个部分。

这三类文件的目标路径在包括之前是相同的 baseFilename,这意味着 MediaLive 将所有这些类别的文件发送到同一个文件夹。每个文件类别的修饰符和文件扩展名都不同。发送到时 MediaStore,必须将所有文件发送到同一个文件夹。下游系统希望所有文件都放在一起。

文件 路径语法 示例
主清单文件 protocol dataEndpoint path baseFilename extension

容器中传送路径中主清单的路径,文件名索引为:

mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8
子清单文件 protocol dataEndpoint path baseFilename nameModifier extension 子清单用于输出高分辨率再现的路径

mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index-high.m3u8

媒体文件(片段) protocol dataEndpoint path baseFilename nameModifier optionalSegmentModifier counter extension

第 230 段的文件路径可能是:

mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index-high-00230.ts

如何 MediaLive 构造路径

这些路径的构造如下:

  • 该 AWS 服务的用户应该已经向您提供了容器名称。

  • 对于 MediaStore,您必须确定以下各项:

    • 这些文件夹

    • 的 baseFilename

    • 修改器

    • 的 segmentModifier

    请参阅以下各节。

  • MediaLive 在计数器前插入下划线。

  • MediaLive 生成计数器,计数器始终是从 00001 开始的五位数。

  • MediaLive 在扩展名前插入圆点。

  • MediaLive 选择扩展名:

    • 对于清单文件 — 始终如此 .m3u8

    • 对于媒体文件 — .ts 表示传输流中的文件,.mp4 表示 f 容器中的文件 MP4

设计文件夹和 baseFilename

设计一个适合你目的 baseFilename 的文件夹路径。

如果每个输出都有两个目的地,则目标路径在某些方面必须彼此不同。请遵循以下准则:

  • 一条路径中至少有一个部分必须与另一部分不同。所有部分都不同是可以接受的。

    因此,如果存储桶或容器不同,则两个目标的文件夹路径和文件名可以相互不同,也可以相同。例如:

    mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8

    mediastoressl://fe30.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8

    或者

    mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8

    mediastoressl://fe30.data.mediastore.us-west-2.amazonaws.com/redundant/index.m3u8

  • 如果存储桶或容器相同,则两个目标的文件夹路径和文件名必须不同。例如:

    mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/delivery/index.m3u8

    mediastoressl://a23f.data.mediastore.us-west-2.amazonaws.com/redundant/index.m3u8

设计 nameModifier

设计文件名的nameModifier各个部分。子清单和媒体文件在其文件名中包含该修饰符。该 nameModifier 将每个输出与其他输出区分开来,因此,它在每个输出中必须是唯一的。请遵循以下准则:

  • 对于包含视频(可能还包含其他流)的输出,您通常会描述视频。例如,-high-1920x1080-5500kpbs(以描述分辨率和比特率)。

  • 对于仅包含音频或仅包含字幕的输出,您通常会描述音频或字幕。例如,-aac-webVTT

  • 最好以分隔符(例如连字符)开头,以便将nameModifier与。 baseFilename nameModifier

  • nameModifier 可以包含数据变量

设计 segmentModifier

设计目标路径的 segmentModifiers 部分。 segmentModifier 是可选的,如果将其包括在内,则只有媒体文件名包含它。

该修饰符的典型使用案例是使用数据变量创建时间戳,以防止在通道重新启动时分段相互覆盖。例如,假设您包含时间戳 $t$-。区段 00001 可能有这个名字index-120028-00001。如果输出在几分钟后重新启动(这会导致分段计数器重新启动),则新的分段 00001 将具有名称。index-120039-00001新文件不会覆盖原始片段 00001 的文件。一些下游系统可能希望具有该行为。