我正在运行要写入 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 上强制重新加载:
按住 Shift
和 Cmd
并按 R
。
关于javascript - 从 Canvas (受污染的 Canvas )读取视频时出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379559/