ffmpegwasm / ffmpeg.wasm

FFmpeg for browser, powered by WebAssembly
https://ffmpegwasm.netlify.app
MIT License
13.63k stars 787 forks source link

0.12.1 - self.createFFmpegCore is not a function #527

Closed weboob closed 11 months ago

weboob commented 12 months ago

Describe the bug Using 0.12.1 - in a vite vue3 browser application

image

image

just run this

    const baseURL: string = "https://unpkg.com/@ffmpeg/core-mt@0.12.1/dist/umd";
    await this.ffmpeg.load({
      coreURL: await toBlobURL(
        `${baseURL}/ffmpeg-core.js`,
        "text/javascript",
        true,
        ({ done, url }) => done && console.log(`${url} is loaded`)
      ),
      wasmURL: await toBlobURL(
        `${baseURL}/ffmpeg-core.wasm`,
        "application/wasm",
        true,
        ({ done, url }) => done && console.log(`${url} is loaded`)
      ),
      workerURL: await toBlobURL(
        `${baseURL}/ffmpeg-core.worker.js`,
        "text/javascript",
        false,
        ({ done, url }) => done && console.log(`${url} is loaded`)
      )
    });

package.json

"@ffmpeg/ffmpeg": "^0.12.1",
"@ffmpeg/util": "^0.12.0",
"vue": "^3.3.4",
"vite": "^4.4.4",

vite.config.js

server: {
......
    headers: {
      "Cross-Origin-Opener-Policy": "same-origin",
      "Cross-Origin-Embedder-Policy": "require-corp"
    },
},
 // for worker.js 504
optimizeDeps: {
  exclude: ["@ffmpeg/ffmpeg", "@ffmpeg/util"],
},

update to 0.12.2 image

jeromewu commented 11 months ago

For coreURL, use esm instead of umd.

// const baseURL: string = "https://unpkg.com/@ffmpeg/core-mt@0.12.1/dist/umd";
const baseURL: string = "https://unpkg.com/@ffmpeg/core-mt@0.12.1/dist/esm";