Pinata云视频提取:操作不安全

Pinata cloud Video extraction: The operation is insecure

我正在尝试从 IPFS 云 (pinata.cloud) 中的视频中获取缩略图,但收到错误消息“操作不安全”。

视频的link:https://gateway.pinata.cloud/ipfs/QmWWeXfCNrgThTzAxbS7AZywnsgp2sdB9rbi5kxuUyUwpZ

到目前为止我有这个:

<video id="videoHolder" controls>
  <source src="https://gateway.pinata.cloud/ipfs/QmWWeXfCNrgThTzAxbS7AZywnsgp2sdB9rbi5kxuUyUwpZ" type="video/mp4" />
</video>

<canvas id="canvas-element"></canvas>

<a id="test-link"></a>

<script>
      function thumbnails() {
        var _VIDEO = document.querySelector("#videoHolder"),
            _CANVAS = document.querySelector("#canvas-element"),
            _CANVAS_CTX = _CANVAS.getContext("2d");

        _CANVAS_CTX.drawImage(_VIDEO, 0, 0, _VIDEO.videoWidth, _VIDEO.videoHeight);

        // Video metadata is loaded
        _VIDEO.addEventListener('loadedmetadata', function() {
            // Set canvas dimensions same as video dimensions
            _CANVAS.width = _VIDEO_PICTURE.videoWidth;
            _CANVAS.height = _VIDEO_PICTURE.videoHeight;
        });

        download()
    }

    var download = function(){
        var link = document.getElementById('test-link');
        link.download = 'filename.png';
        link.href = document.getElementById('canvas-element').toDataURL()
    }
</script>

我也在某处读到它部分是由于 crossOrigin 但由于它在 IPFS 上我无法编辑它(据我所知)。

那么我怎样才能实现在 IFPS 上使用 JavaScript 从该视频中获取缩略图的目标呢?

这与 ipfs:// 协议无关,因为 Pinata 的云服务通过 https:// 提供该内容。

这里有一个与操作不安全错误相关的问题:canvas.toDataURL() Security Error The operation is insecure

这个问题的最佳答案解释了为什么你不能绕过这个安全功能:

相反,使用反向代理作为可信源来提供 IPFS 内容会冒高带宽风险,因此您可能需要查看使用服务器提取 Pinata 云上托管的视频帧的路线。