ffmpegwasm / ffmpeg.wasm

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

ReferenceError: self is not defined #464

Closed aappaapp closed 1 year ago

aappaapp commented 1 year ago

When I use FFMPEG.createFFmpeg() with vite and electron, it throws:

ReferenceError: self is not defined
    at Module.<anonymous> (C:\Users\user\OneDrive\?辣\GitHub\videoditor\editor\dist-electron\index.js:1:157417)
    at Module._compile (node:internal/modules/cjs/loader:1141:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
    at Module.load (node:internal/modules/cjs/loader:1011:32)
    at Module._load (node:internal/modules/cjs/loader:846:12)
    at f._load (node:electron/js2c/asar_bundle:2:13328)
    at loadApplicationPackage (C:\Users\user\OneDrive\?辣\GitHub\videoditor\editor\node_modules\.pnpm\electron@22.0.0\node_modules\electron\dist\resources\default_app.asar\main.js:121:16)
    at Object.<anonymous> (C:\Users\user\OneDrive\?辣\GitHub\videoditor\editor\node_modules\.pnpm\electron@22.0.0\node_modules\electron\dist\resources\default_app.asar\main.js:233:9)
    at Module._compile (node:internal/modules/cjs/loader:1141:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)

image

Sorry for my bad English.

aappaapp commented 1 year ago

I fixed it by putting "@ffmpeg/ffmpeg" in the rollupOptions.external.

rollupOptions: {
    external: ["@ffmpeg/ffmpeg"],
},

:)

dalhaan commented 1 year ago

Saved my life! Thanks @aappaapp