javascript - 从 Canvas (受污染的 Canvas )读取视频时出现 CORS 错误

标签 javascript canvas html5-video cors

我正在运行要写入 Canvas 的 HLS 流;然后从 Canvas 中读取像素。

视频被渲染到 Canvas 上 A-ok,但它开始于:

myPixel = c.getImageData(200, 200, 1, 1).data;

失败的地方:

[错误] SecurityError:DOM 异常 18:试图突破用户代理的安全策略。

[错误] 无法从 Canvas 获取图像数据,因为 Canvas 已被跨源数据污染。

我已经在 Wowza 流媒体服务器上设置了跨域设置:

<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>

和客户端视频元素上的 crossOrigin="anonymous"

在同一网络上运行 Safari 7.0.2/Mac 的不同计算机上,它可以工作也可以失败。

调试这个有什么好主意吗?

最佳答案

如果您的修改在某些计算机上有效,而在其他配置相同的计算机上无效,请尝试清除行为不当的计算机上的缓存。

像这样在行为不端的 mac 上强制重新加载:

按住 ShiftCmd 并按 R

关于javascript - 从 Canvas (受污染的 Canvas )读取视频时出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379559/

相关文章:

javascript - 离线观看带字幕的 HTML5 视频

javascript - 导致浏览器重新验证(但不一定重新获取)图像

javascript - 在样式表中指定多 css 类

javascript - jQuery fade out fade in 在跳转时替换文本而不是覆盖

javascript - 从勇者斗恶龙中绘制史莱姆

javascript - 带有视频时间的链接按钮

javascript - setTimeout 在 forEach 中不起作用

javascript - 如何淡入html5 Canvas 中的元素

javascript - 如何选择在canvas2d中制作字形纹理的字体大小

javascript - HTML5 和 PHP : Play base 64 encoded video file