通过 CloudFront 提供点播视频 (VOD) - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

通过 CloudFront 提供点播视频 (VOD)

要使用 CloudFront 进行点播视频 (VOD) 流式传输,请使用以下服务:

  • Amazon S3 以原始格式存储内容并存储转码后的视频。

  • 一个编码器(如 AWS Elemental MediaConvert),用于将视频转码为流格式。

  • CloudFront 将转码视频传输给查看器。有关 Microsoft 平滑流,请参阅为 Microsoft 平滑流配置点播视频

使用 CloudFront 创建 VOD 解决方案

  1. 将您的内容上传到 Amazon S3 存储桶。要了解有关使用 Amazon S3 的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南

  2. 通过使用 MediaConvert 作业对您的内容进行转码。作业将视频转换为查看器使用的播放器所需的格式。您还可以使用此作业来创建分辨率和比特率不同的资产。这些资产用于自适应比特率 (ABR) 流式传输,这种传输方式根据查看器的可用带宽调整查看质量。MediaConvert 将转码后的视频存储在 S3 存储桶中。

  3. 使用 CloudFront 分配传输转换后的内容。查看者可以随时在任何设备上观看内容。

提示

您可以了解如何使用 Amazon CloudFormation 模板部署 VOD Amazon 解决方案及其所有关联组件。要查看使用模板的步骤,请参阅 Video on Demand on Amazon 指南中的自动部署

为 Microsoft 平滑流配置点播视频

您可以通过以下选项使用 CloudFront 来分配已转码为 Microsoft 平滑流格式的点播视频 (VOD) 内容:

  • 指定运行 Microsoft IIS 并支持平滑流作为分配源的 Web 服务器。

  • 在 CloudFront 分配的缓存行为中启用平滑流。由于您可以在分配中使用多个缓存行为,因此您可以将一个分配用于平滑流媒体文件以及其他内容。

重要

如果指定运行 Microsoft IIS 的 Web 服务器作为源,请 要在 CloudFront 分配的缓存行为中启用平滑流。如果您为缓存行为启用平滑流式处理,则 CloudFront 无法使用 Microsoft IIS 服务器作为源。

如果您在缓存行为中启用平滑流(即您不具有运行 Microsoft IIS 的服务器),请注意以下几点:

  • 如果内容与同一缓存行为的路径模式值匹配,您仍可以使用该缓存行为分配其他内容。

  • CloudFront 可以将 Amazon S3 存储桶或自定义源用于平滑流媒体文件。如果您为缓存行为启用平滑流式处理,则 CloudFront 无法使用 Microsoft IIS 服务器作为源。

  • 您无法使平滑流格式的媒体文件失效。如果要在文件到期前更新它们,则必须将其重命名。有关更多信息,请参阅添加、删除或替换 CloudFront 分配的内容

有关平滑流客户端的信息,请参阅 Microsoft 文档网站上的平滑流初探

在 Microsoft IIS Web 服务器不是源时使用 CloudFront 分配平滑流文件

  1. 将您的媒体文件转码为平滑流分片 MP4 格式。

  2. 请执行下列操作之一:

    • 如果您使用的是 CloudFront 控制台:当您创建或更新分配时,请在分配的一个或多个缓存行为中启用平滑流。

    • 如果您使用的是 CloudFront API:针对一个或多个分配的缓存行为,将 SmoothStreaming 元素添加到 DistributionConfig 复杂类型中。

  3. 将平滑流文件上传到您的源。

  4. 创建 clientaccesspolicy.xmlcrossdomainpolicy.xml 文件,并将其添加到可在您的分配的根目录访问的位置,例如 https://d111111abcdef8.cloudfront.net/clientaccesspolicy.xml。下面是一个示例策略:

    <?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*"/> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>

    有关更多信息,请参阅 Microsoft Developer Network 网站上的让服务跨域边界可用

  5. 对于应用程序(例如媒体播放器)中的链接,请以下面的格式指定媒体文件的 URL:

    https://d111111abcdef8.cloudfront.net/video/presentation.ism/Manifest