You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

FFmpeg WASM v0.12.10加载报错:ReferenceError找不到FFmpeg变量

FFmpeg WASM v0.12.10加载报错:ReferenceError找不到FFmpeg变量

看起来你遇到了FFmpeg WASM UMD版本的命名空间问题,我来帮你搞定这个问题~

首先你碰到的错误提示:

Error loading FFmpeg: ReferenceError: Can't find variable: FFmpeg

这是因为在v0.12.10的UMD构建版本中,FFmpeg类并没有直接暴露在全局window对象下,而是被包裹在FFmpegWASM这个命名空间里了。

先看你原本的代码:

<h1>FFmpeg Loading Example</h1>
<p id="message"></p>
<script src="https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.10/dist/umd/ffmpeg.min.js"></script>
<script>
    document.addEventListener("DOMContentLoaded", async () => {
        const message = document.getElementById('message');
        try {
            const ffmpeg = new FFmpeg();
            message.innerText = 'Loading FFmpeg...';
            await ffmpeg.load();
            message.innerText = 'FFmpeg loaded successfully!';
        } catch (error) {
            console.error('Error loading FFmpeg:', error);
            message.innerText = 'Error loading FFmpeg.';
        }
    });
</script>

只需要修改一行代码,从FFmpegWASM命名空间里获取FFmpeg类就能解决问题:

<h1>FFmpeg Loading Example</h1>
<p id="message"></p>
<script src="https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.10/dist/umd/ffmpeg.min.js"></script>
<script>
    document.addEventListener("DOMContentLoaded", async () => {
        const message = document.getElementById('message');
        try {
            // 从全局命名空间FFmpegWASM中解构出FFmpeg类
            const { FFmpeg } = FFmpegWASM;
            const ffmpeg = new FFmpeg();
            message.innerText = 'Loading FFmpeg...';
            await ffmpeg.load();
            message.innerText = 'FFmpeg loaded successfully!';
        } catch (error) {
            console.error('Error loading FFmpeg:', error);
            message.innerText = 'Error loading FFmpeg.';
        }
    });
</script>

你也可以直接用new FFmpegWASM.FFmpeg()的方式实例化,效果是完全一样的。

这个问题主要是不同版本的FFmpeg WASM UMD构建的全局变量暴露方式有差异,v0.12.x版本就是用FFmpegWASM作为全局入口,而更早的版本可能直接暴露FFmpeg,所以才会出现找不到变量的情况。

备注:内容来源于stack exchange,提问作者Jimmy

火山引擎 最新活动