如何配置S3和Cloud Front以流式传输HTML5视频?尝试了一切

时间:2012-01-06 20:33:15

标签: html5 amazon-s3 video-streaming cloud amazon-cloudfront

我尝试了很多很多不同的配置,文件,编码,浏览器等等,但这是演示我遇到问题的最简单的例子。

如果在FF 8.0.1中粘贴JSPlayer的示例视频的url,则视频将内联播放:

http://video-js.zencoder.com/oceans-clip.webm

如果我拍摄同一个视频并将其上传到我的s3存储桶,则会触发下载:

https://s3.amazonaws.com/turingvideos/oceans-clip.webm - 要么 - HTTP

(读取文件和存储桶中每个人的权限)

所以,让我们试试Cloud Front。

d2yat6m71lu23b dot cloudfront dot net slash oceans-clip.webm(下载触发器)

Cloud Front流媒体:

strzsu4h2ax96 dot cloudfront dot net slash oceans-clip.webm(infinite spinner)

使用html视频标签时也会发生同样的基本情况。从zencoder工作正常,除了本地磁盘读取以外的其他任何东西。

那么,zencoder管理的魔力是什么,完全超出了我对S3 / CloudFront的影响?我完全难过了。

编辑:

将内容类型和处置设置为" video / webm"和"内联"做了伎俩。感谢快速回复的人。

1 个答案:

答案 0 :(得分:47)

使用S3 Web管理控制台(https://console.aws.amazon.com/s3),选择您的存储桶,右键单击其中一个视频文件,切换到元数据选项卡并设置2个标题:

  • 内容类型:视频文件的内容类型
  • 内容 - 处置:内联

此外,请确保您的CloudFront分配设置为“流式”分发,而不是“下载”分发。

修改

来自AWS文档:

  

CloudFront服务器不确定其所服务对象的MIME类型。因此,当您将对象上传到原点时,应设置对象的Content-Type标题。

来源:http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/ObjectMIMEType.html