我正在使用krpano html5播放器创建虚拟现实360度视频网站。解决亚马逊Aws上的跨源资源共享
这很好,直到Safari的测试,我意识到它没有工作。原因是Safari浏览器不支持通过WebGL的视频的CORS(跨源资源共享)。
为了澄清,如果我的影片在那里与我的应用程序文件在同一台服务器上,将工作,但因为我有托管在亚马逊S3我的文件,他们是CORS。现在我不确定该怎么做,因为我已经将我的应用程序构建在连接到我的亚马逊s3存储桶的数字海洋上,但我无法承担起我的液滴只是为了获得所需的存储空间(大约100GB开始并将增加在未来Terrabytes和我的视频集合变得更大)。
因此,没有人知道这样我就可以解决这个问题,使它看起来像视频不是从不同来源来或替代地我能做些什么来突破这个障碍?
有没有办法,我就可以建立Amazon S3和EC2,使他们不看对方的跨域资源共享什么办法?
编辑:
我打开我的视频是这样的:
<script>
function showVideo(){
embedpano({
swf:"/krpano/krpano.swf",
xml:"/krpano/videopano.xml",
target:"pano",
html5:"only",
});
}
</script>
这然后调用它调用视频文件我的xml文件:
<krpano>
<!-- add the video sources and play the video -->
<action name="add_video_sources">
videointerface_addsource(‘medium', 'https://s3-eu-west-1.amazonaws.com/myamazonbucket/Shoots/2016/06/the-first-video/videos/high.mp4|https://s3-eu-west-1.amazonaws.com/myama…ideos/high.webm');
videointerface_play(‘medium');
</action>
</krpano>
我不知道究竟krpano核心是如何工作的,我认为它是从XML文件获取URL,然后发出请求将其拉入。
你能提供更多关于你如何加载视频的信息吗?使用S3/Cloudfront是分发资产的常见方式,CORS通常不是问题。 – datasage
@datasage我已更新我的问题 – virepo
我认为这与脚本如何加载文件有关。如果文件像ajax请求那样加载,则CORS将发挥作用。 – datasage