我首先要说我有CORS的经验,并且已经阅读了有关该主题的知识。我想我正在做应该做的事,但在Safari中仍然出现此错误。
我正在将HSL视频流提供给某个元素。
HLS文件与主页位于不同的服务器上。我已经验证playlist
和*.ts
文件都包含(我认为是)适当的标题,例如:
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, PATCH, DELETE
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-test, Content-Type
Cache-Control: public, max-age=0
Connection: keep-alive
Content-Length: 44932
Content-Type: video/MP2T
Date: Thu, 26 Jul 2018 14:43:06 GMT
ETag: W/"af84-164d70a9431"
Last-Modified: Thu, 26 Jul 2018 14:42:32 GMT
我正在视频元素上设置crossOrigin
属性,就像videl.crossOrigin = 'use-credentials'
一样(我也尝试过匿名设置)。
我将视频帧复制到画布上,如var ctx = canvas.getContext('2d'); ctx.drawImage(videl, 0, 0);
当我致电canvas.toBlob()
时收到错误消息:
SecurityError: The operation is insecure.
任何帮助将不胜感激。