通过 CloudFront 提供点播视频 - Amazon CloudFront

通过 CloudFront 提供点播视频

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

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

  • 用于将视频转码为流式传输格式的编码器(如 AWS Elemental MediaConvert)。

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

使用 CloudFront 创建 VOD 解决方案
  1. 将您的内容上传到 Amazon S3 存储桶。要了解有关使用 Amazon S3 的更多信息,请参阅《Amazon Simple Storage Service 用户指南》https://docs.aws.amazon.com/AmazonS3/latest/dev/

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

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

提示

您可以了解如何使用 AWS CloudFormation 模板部署 VOD AWS 解决方案及其所有关联组件。要查看使用模板的步骤,请参阅《AWS 上的视频点播》指南中的自动部署

为 Microsoft Smooth Streaming 配置点播视频

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

  • 指定运行 Microsoft IIS 并支持将 Smooth Streaming 作为分配源的 Web 服务器。

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

重要

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

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

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

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

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

有关 Smooth Streaming 客户端的信息,请参阅 Microsoft 文档网站上的 Smooth Streaming

在 Microsoft IIS Web 服务器不是源时使用 CloudFront 分配 Smooth Streaming 文件
  1. 将您的媒体文件转码为 Smooth Streaming 分片的 MP4 格式。

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

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

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

  3. 将 Smooth Streaming 文件上传到您的源。

  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