在ios 10.3中使用来自同一域的视频作为纹理时webGL texImage2D函数的安全性错误?

时间:2017-04-13 14:30:25

标签: javascript ios video cors webgl

我在使用ios 10.3中的webGL将360视频渲染到画布时遇到了问题 此问题的类似症状指向众所周知的ios safari CORS问题尚待修复。建议的解决方法围绕反向代理或在同一域上托管视频。

我在同一个域上播放视频,但仍然收到此问题:  SecurityError (DOM Exception 18): The operation is insecure. 不仅同一域上的视频我也在服务器上设置了这个:

  

Access-Control-Allow-Origin:*

(但是在这种情况下,我应该遇到CORS问题,这没有任何意义。简单地说,安全性错误似乎是所述问题的症状)。

此问题仅发生在ios 10.3中。 ios 10.2可以正确渲染我的360视频。此外,所有现代桌面和Android浏览器都可以正常呈现视频(下面的代码片段中的视频只是视频元素源)。以下是错误指向safari Web检查器中的行:

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, this.video);

这是我.html文件中视频的位置:

<video id="video" autoplay preload="auto" crossorigin="anonymous" style="display: none;" playsinline>
<source src="https://example.com/example360video.mp4?q=1" type="video/mp4">
</video>

我正忙着使用q=1这里也是通过curl -v从我的视频中检索到的标题:

  

&LT; HTTP / 1.1 200 OK&lt;日期:2017年4月13日星期四15:51:51 GMT&lt;服务器:   Apache / 2.2.31&lt;最后修改时间:2017年4月12日星期三15:07:57 GMT&lt; ETag的:   “xxxxxxxxxxxxxx”&lt; Accept-Ranges:bytes&lt;内容长度:43720623&lt;   高速缓存控制:max-age = 2592000&lt;到期日:2017年5月13日星期六15:51:51   GMT&lt; Access-Control-Allow-Origin:*&lt;连接:关闭&lt;   内容类型:video / mp4

还有其他人遇到过这个问题吗?有人可以提供解决方案吗?我有这个网页在除ios 10.3之外的每个平台上工作,并且完全被这个阻碍进一步开发的问题所困扰。

0 个答案:

没有答案