整合 CDN - AWS Elemental MediaTailor

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

整合 CDN

以下步骤显示了如何集成 AWS Elemental MediaTailor 使用您的内容分发网络 (CDN)。根据您CDN使用的不同,某些术语可能与这些步骤中使用的术语有所不同。

步骤 1:(CDN) 创建路由行为

在中CDN,创建将播放请求路由到的行为和规则 MediaTailor。对所有分段请求使用以下规则(内容、普通广告效用和前置式广告效用):

  • 创建一个行为,该行为将内容分段 请求路由到来源服务器。根据使用短语区分内容分段请求和广告分段请求的规则来执行此操作。

    例如,CDN可以http://origin.com/contentpath/subdir/content.ts根据请求subdir中的关键字将HLS玩家请求路由https://CDN_Hostname/subdir/content.ts到原始服务器路径。

    例如,CDN可以http://origin.com/contentpath/subdir/content.mp4根据请求subdir中的关键字将DASH玩家请求路由https://CDN_Hostname/subdir/content.mp4到原始服务器路径。

  • (可选)创建一种行为,将广告细分请求路由到亚马逊内部 CloudFront 分发,其中 AWS Elemental MediaTailor 存储转码后的广告。根据包含短语来区分广告分段请求和内容分段请求的规则来执行此操作。此步骤是可选的,因为 AWS Elemental MediaTailor 提供了默认配置。

    AWS Elemental MediaTailor 使用以下默认的 Amazon CloudFront 分配来存储广告:

    例 广告区段路由

    模式:https://segments.mediatailor.<region>.amazonaws.com

    例如:https://segments.mediatailor.eu-west-1.amazonaws.com

第 2 步:(AWS Elemental MediaTailor) 使用CDN映射创建配置

创建一个 AWS Elemental MediaTailor 将CDN路由行为的域映射到源服务器和广告存储位置的配置。在配置中输入域名,如下所示:

  • 对于CDN内容分段前缀,请输入您为将内容请求路由到源服务器而创建的行为中的CDN域。在清单中, MediaTailor 将内容分段URL前缀替换为CDN域名。

    例如,考虑以下设置。

    • MediaTailor配置中的@@ 视频内容来源http://origin.com/contentpath/

    • CDN内容分段前缀https://CDN_Hostname/

    因为HLS,如果完整内容文件路径为http://origin.com/contentpath/subdir/content.ts,则由提供的清单中的内容段 MediaTailor 为https://CDN_Hostname/subdir/content.ts

    因为DASH,如果完整内容文件路径为http://origin.com/contentpath/subdir/content.mp4,则由提供的清单中的内容段 MediaTailor 为https://CDN_Hostname/subdir/content.mp4

  • CDN广告区段前缀中,输入您为通过您的路由广告请求而创建的CDN行为的名称CDN。在清单中, MediaTailor 将 Amazon CloudFront 分配替换为行为名称。

步骤 3:(CDN) CDN 为清单和报告请求进行设置

使用 fo CDN r Manifest 和报告请求可在工作流程中提供更多功能。

对于清单,CDN在清单规范前面引用可以让你使用地理围栏等CDN功能,也可以使用自己的域名提供所有内容。对于此路径,请不要缓存清单,因为它们都是个性化的。清单规范/v1/master适用于HLS主清单请求、/v1/manifestHLS媒体清单请求和DASH清单/v1/dash请求。

确保将所有查询参数CDN转发到 AWS Elemental MediaTailor。 MediaTailor 依靠查询参数来满足您对个性化广告的VAST请求。

对于服务器端报告,CDN在广告细分请求前引用前置有助于防止 /v1/segment AWS Elemental MediaTailor 避免发送重复的广告跟踪信标。当玩家请求/v1/segment广告时,会向实际*.ts细分 MediaTailor 发出 301 重定向。当 MediaTailor 看到该/v1/segment请求时,它会发出信标调用以跟踪广告的观看百分比。如果同一个玩家在一个会话/v1/segment中为同一个玩家发出多个请求,而你的广告决策服务器 (ADS) 无法删除重复的请求,则会向同一个信标 MediaTailor 发出多个请求。使用CDN来缓存这些 301 响应可确保 MediaTailor不会对重复的请求进行重复的信标调用。对于此路径,您可以使用高或默认缓存,因为这些分段的缓存键是唯一的。

要利用这些好处,请在中创建CDN将请求路由到的行为 AWS Elemental MediaTailor 配置端点。您创建的行为基于区分主HLS清单、清单、HLSDASH清单和报告的请求的规则。

请求遵循以下格式:

  • HLS主清单格式

    https://<playback-endpoint>/v1/master/<hashed-account-id>/<origin-id>/<master>.m3u8

    示例

    https://a57b77e98569478b83c10881a22b7a24.mediatailor.us-east-1.amazonaws.com/v1/master/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/assetId.m3u8
  • HLS清单格式

    https://<playback-endpoint>/v1/manifest/<hashed-account-id>/<session-id>/<manifestNumber>.m3u8

    示例

    https://a57b77e98569478b83c10881a22b7a24.mediatailor.us-east-1.amazonaws.com/v1/manifest/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/c240ea66-9b07-4770-8ef9-7d16d916b407/0.m3u8
  • DASH清单格式

    https://<playback-endpoint>/v1/dash/<hashed-account-id>/<origin-id>/<assetName>.mpd

    示例

    https://a57b77e98569478b83c10881a22b7a24.mediatailor.us-east-1.amazonaws.com/v1/dash/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/0.mpd
  • 服务器端报告的广告报告请求格式

    https://<playback-endpoint>/v1/segment/<origin-id>/<session-id>/<manifestNumber>/<HLSSequenceNum>

    示例

    https://a57b77e98569478b83c10881a22b7a24.mediatailor.us-east-1.amazonaws.com/v1/segment/Demo/240ea66-9b07-4770-8ef9-7d16d916b407/0/440384

在中CDN,创建一种行为,将清单请求路由到 AWS Elemental MediaTailor 配置端点。将行为基于包含短语来区分清单请求和分段请求的规则。

例 路由
  • 玩家对的请求https://CDN_Hostname/some/path/asset.m3u8会被路由到 AWS Elemental MediaTailor 路径https://mediatailor.us-west-2.amazonaws.com/v1/session/configuration/endpoint基于请求*.m3u8中的关键字。

  • 玩家对的请求https://CDN_Hostname/some/path/asset.mpd会被路由到 AWS Elemental MediaTailor 路径https://mediatailor.us-west-2.amazonaws.com/v1/dash/configuration/endpoint基于请求*.mpd中的关键字。