通过 CloudFront 提供点播视频
要使用 CloudFront 进行点播视频 (VOD) 流式传输,请使用以下服务:
-
Amazon S3 以原始格式存储内容并存储转码后的视频。
-
用于将视频转码为流式传输格式的编码器(如 AWS Elemental MediaConvert)。
-
CloudFront 将转码视频传输给查看器。有关 Microsoft Smooth Streaming,请参阅为 Microsoft Smooth Streaming 配置点播视频。
使用 CloudFront 创建 VOD 解决方案
-
将您的内容上传到 Amazon S3 存储桶。要了解有关使用 Amazon S3 的更多信息,请参阅《Amazon Simple Storage Service 用户指南》https://docs.aws.amazon.com/AmazonS3/latest/dev/。
-
通过使用 MediaConvert 作业对您的内容进行转码。作业将视频转换为查看器使用的播放器所需的格式。您还可以使用此作业来创建分辨率和比特率不同的资产。这些资产用于自适应比特率 (ABR) 流式传输,这种传输方式根据查看器的可用带宽调整查看质量。MediaConvert 将转码后的视频存储在 S3 存储桶中。
-
使用 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 文件
-
将您的媒体文件转码为 Smooth Streaming 分片的 MP4 格式。
-
请执行以下操作之一:
-
如果您使用的是 CloudFront 控制台:当您创建或更新分配时,请在分配的一个或多个缓存行为中启用 Smooth Streaming。
-
如果您使用的是 CloudFront API:针对一个或多个分配的缓存行为,将
SmoothStreaming
元素添加到DistributionConfig
复杂类型中。
-
-
将 Smooth Streaming 文件上传到您的源。
-
创建
clientaccesspolicy.xml
或crossdomainpolicy.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 网站上的让服务跨域边界可用
。 -
对于应用程序(例如媒体播放器)中的链接,请以下面的格式指定媒体文件的 URL:
https://d111111abcdef8.cloudfront.net/video/presentation.ism/Manifest