FFmpeg.wasm 添加交叉原点后停止工作 headers

FFmpeg.wasm stopped working after adding cross origin headers

我通过添加 headers

获得了 SharedArrayBuffer error as described in this other issue and to fix I added the cross origin isolation as suggested (also suggested )
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

之后,现在当我尝试 运行 代码时,我得到了 Uncaught ReferenceError: FFmpeg is not defined。错误发生在 Firefox

我的代码是:

<script  src="https://unpkg.com/@ffmpeg/ffmpeg@0.10.0/dist/ffmpeg.min.js"></script>
<script>
    
    const { createFFmpeg, fetchFile } = FFmpeg; //error happens here
    const ffmpegInstance = createFFmpeg({
        corePath: 'https://unpkg.com/@ffmpeg/core@0.10.0/dist/ffmpeg-core.js',
        log: true,
    });
 </script> 

在此之前,在 Brave 浏览器上,过程 运行 可以,无需添加交叉原点 headers 和 FFmpeg 变量定义。

原因是要使 SharedArrayBuffer 正常工作,使用其功能的脚本也必须 opt-in 通过那些 headers。

遗憾的是,https://unpkg.com/ 目前不提供带有 COOP/COEP headers 的脚本。

要使您的应用程序再次运行,您必须复制并 self-host 来自您自己的来源,或者将它们捆绑为您的应用程序的一部分。