HLS 清单示例 - AWS Elemental MediaTailor

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

HLS 清单示例

以下部分提供了 HLS 源清单和个性化清单的示例。了解这些示例可以帮助您配置 MediaTailor工作流程并对其进行故障排除。

有关如何将查询参数应用于 HLS 清单和区段的信息,请参阅。MediaTailorHLS 隐式会话初始化

了解 HLS 播放列表类型

HTTP 直播 (HLS) 使用两种主要的播放列表类型:

多变体播放列表

多变体播放列表是列出内容所有可用格式副本的顶级索引文件。它包含对媒体播放列表的引用,但本身不包含任何媒体片段。该播放列表允许玩家根据网络条件、设备功能或用户偏好选择最合适的节目。

这种播放列表类型在各种上下文中也有其他几个名称,包括主播放列表、主清单、主播放列表、主播放列表、索引文件或主 M3U8。

在 MediaTailor 工作流程中,多变体播放列表是播放请求的入口点,也是广告个性化的起点。

媒体播放列表

媒体播放列表包含特定内容再现(质量级别)的实际媒体片段信息。它包括播放单个格式副本所需的时间信息 URLs、片段和其他元数据。

这种播放列表类型也称为媒体播放列表、子清单、区块列表、媒体 M3U8 或格式副本播放列表。

在 MediaTailor 工作流程中,媒体播放列表会进行个性化设置,以按适当顺序包括内容细分和广告细分。

有关 HLS 播放列表类型的更多详细信息,请参阅HLS 播放列表类型

HLS 起源清单示例

以下示例显示了 HLS 从内容来源 AWS Elemental MediaTailor 收到的 HLS 多变体播放列表。

#EXTM3U #EXT-X-VERSION:3 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=2665726,AVERAGE-BANDWIDTH=2526299,RESOLUTION=960x540,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles" index_1.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=3956044,AVERAGE-BANDWIDTH=3736264,RESOLUTION=1280x720,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2",SUBTITLES="subtitles" index_2.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=995315,AVERAGE-BANDWIDTH=951107,RESOLUTION=640x360,FRAME-RATE=29.970,CODECS="avc1.4D401E,mp4a.40.2",SUBTITLES="subtitles" index_3.m3u8 #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles",NAME="caption_1",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="eng",URI="index_4_0.m3u8"

在这个多变体播放列表示例中:

  • 这些#EXT-X-STREAM-INF标签定义了具有不同分辨率和比特率的不同格式副本

  • 每个格式副本都引用一个媒体播放列表(例如index_1.m3u8

  • #EXT-X-MEDIA标签定义了字幕曲目

以下示例显示了 HLS 从内容来源 AWS Elemental MediaTailor 收到的 HLS 媒体播放列表。本示例使用 EXT-X-CUE-OUTEXT-X-CUE-IN 标签来描述广告效用机会。

#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:8779957 #EXTINF:6.006, index_1_8779957.ts?m=1566416212 #EXTINF:6.006, index_1_8779958.ts?m=1566416212 #EXTINF:5.372, index_1_8779959.ts?m=1566416212 #EXT-OATCLS-SCTE35:/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ== #EXT-X-CUE-OUT:20.020 #EXTINF:0.634, index_1_8779960.ts?m=1566416212 #EXT-X-CUE-OUT-CONT:ElapsedTime=0.634,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ== #EXTINF:6.006, index_1_8779961.ts?m=1566416212 #EXT-X-CUE-OUT-CONT:ElapsedTime=6.640,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ== #EXTINF:6.006, index_1_8779962.ts?m=1566416212 #EXT-X-CUE-OUT-CONT:ElapsedTime=12.646,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ== #EXTINF:6.006, index_1_8779963.ts?m=1566416212 #EXT-X-CUE-OUT-CONT:ElapsedTime=18.652,Duration=21,SCTE35=/DAlAAAAAsvhAP/wFAXwAAAGf+/+AdLfiP4AG3dAAAEBAQAAXytxmQ== #EXTINF:1.368, index_1_8779964.ts?m=1566416212 #EXT-X-CUE-IN #EXTINF:4.638, index_1_8779965.ts?m=1566416212 #EXTINF:6.006, index_1_8779966.ts?m=1566416212 #EXTINF:6.006, index_1_8779967.ts?m=1566416212 #EXTINF:6.006, index_1_8779968.ts?m=1566416212

在此媒体播放列表示例中:

  • #EXTINF标签指定每个片段的持续时间

  • #EXT-X-CUE-OUT标签标志着广告插播的开始

  • 这些#EXT-X-CUE-OUT-CONT标签提供有关正在进行的广告中断的信息

  • #EXT-X-CUE-IN标签标志着广告插播的结束

HLS 个性化清单示例

以下示例显示了个性化的 HLS 多变体播放列表。 AWS Elemental MediaTailor

#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA:LANGUAGE="eng",AUTOSELECT=YES,FORCED=NO,TYPE=SUBTITLES,URI="../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/3.m3u8",GROUP-ID="subtitles",DEFAULT=YES,NAME="caption_1" #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",AVERAGE-BANDWIDTH=2526299,RESOLUTION=960x540,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=2665726 ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",AVERAGE-BANDWIDTH=3736264,RESOLUTION=1280x720,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=3956044 ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/1.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.4D401E,mp4a.40.2",AVERAGE-BANDWIDTH=951107,RESOLUTION=640x360,SUBTITLES="subtitles",FRAME-RATE=29.97,BANDWIDTH=995315 ../../../manifest/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/2.m3u8

请注意如何 MediaTailor 修改媒体播放列表 URLs 以包含特定会话的信息,从而实现个性化广告插入。

以下示例显示了 AWS Elemental MediaTailor 个性化的媒体播放列表。

#EXTM3U #EXT-X-VERSION:6 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:8779957 #EXT-X-DISCONTINUITY-SEQUENCE:0 #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779957.ts?m=1566416212 #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779958.ts?m=1566416212 #EXTINF:5.372, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779959.ts?m=1566416212 #EXT-X-DISCONTINUITY #EXTINF:3.066667, ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779960 #EXTINF:3.0, ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779961 #EXTINF:3.0, ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779962 #EXTINF:3.0, ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779963 #EXTINF:2.966667, ../../../../segment/43f3e412052f2808dd84ea1da90e92e914edddee/external-canary-hls/ee1696a8-4f7f-4c4c-99de-9821131847e8/0/8779964 #EXT-X-DISCONTINUITY #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779963.ts?m=1566416212 #EXTINF:1.368, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779964.ts?m=1566416212 #EXTINF:4.638, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779965.ts?m=1566416212 #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779966.ts?m=1566416212 #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779967.ts?m=1566416212 #EXTINF:6.006, https://777788889999.mediapackage.us-west-2.amazonaws.com/out/v1/e309ffd02ba8498d864dcaacff7a5ad9/index_1_8779968.ts?m=1566416212

在此个性化媒体播放列表示例中:

  • MediaTailor 在内容区段之间插入了广告区段

  • 这些#EXT-X-DISCONTINUITY标签标记了内容和广告之间的过渡

  • 内容分段由源服务器提供(MediaPackage 在本例中)

  • 广告区段是从 MediaTailor的广告细分存储空间中提供的

个性化清单的主要区别

MediaTailor 对HLS清单进行个性化设置时,它会进行一些重要的更改:

多变体播放列表更改
  • 变体播放列表 URLs 被重写为指向包含会话信息的 MediaTailor-man URLs aged

  • 为了获得最佳播放效果,可以重新组织标签的顺序

变体播放列表更改
  • 广告标记 (EXT-X-CUE-OUT,EXT-X-CUE-IN) 将替换为实际的广告细分

  • 在边界处 content/ad 添加不连续标记 (EXT-X-DISCONTINUITY)

  • 内容段 URLs 被重写为指向源或 CDN

  • 广告区段 URLs 已添加到 point to MediaTailor 的广告区段存储空间

了解这些更改可以帮助您解决 MediaTailor 工作流程中的问题,并确保正确配置 CDN 和播放器。

有关 HLS 清单和的更多信息 MediaTailor,请参阅以下主题: