我在通过亚马逊HTML5 S3 + Cloudfront传输静态S3视频文件时遇到了问题。基本上,视频播放得很好,但完全忽略了视频播放器中的任何循环功能。我已经将player元素循环属性设置为true。还将Javascript中的内容设置为备份。(见下文)。使用localhost可以很好地工作,但是当我从AWS服务时,我总是得到错误的net::ERR_CONTENT_DECODING_FAILED
我同时使用.webm和.mp4,而且文件在AWS中有适当的头。内容-类型视频/webm和内容-类型视频/MP4。
我注意到,默认情况下,所有视频都会在S3上设置一次gzip。当移除gzip标题时,视频甚至不再播放。所以,我要么没有视频,要么没有回应的视频解码错误。
有什么想法吗?
if (typeof player.loop === 'boolean'){
player.loop = true;
}
else{
player.addEventListener('ended', function(){
this.currentTime = 0;
this.play();
}, false);
}发布于 2015-08-21 09:21:54
我也有同样的问题,解决办法很简单。在我的例子中,我简单地将视频资产部署到S3/Cloudfront的gzip任务移除,它解决了这个问题。
实际上,这个问题与资源头Accept-Encoding和响应头Content-Encoding有关,因为您可以在下面的文档中找到更多的详细信息:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html#CompressedS3
我建议在一个单独的选项卡中打开视频,并检查上面提到的标题,这将很容易看出什么是错误的。
https://stackoverflow.com/questions/29055576
复制相似问题