mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-24 07:00:49 +08:00
25 lines
735 B
TypeScript
25 lines
735 B
TypeScript
import { FFmpeg } from '@ffmpeg/ffmpeg'
|
|
import { toBlobURL } from '@ffmpeg/util'
|
|
import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'
|
|
|
|
let ffmpeg: FFmpeg | null = null
|
|
|
|
export default defineNuxtPlugin(() => {
|
|
return {
|
|
provide: {
|
|
ffmpeg: async () => {
|
|
if (ffmpeg) return ffmpeg
|
|
ffmpeg = new FFmpeg()
|
|
const base = '~/assets/js/ffmpeg/core-mt/dist/umd'
|
|
await ffmpeg.load({
|
|
coreURL: await toBlobURL(`${base}/ffmpeg-core.js`, 'text/javascript'),
|
|
wasmURL: await toBlobURL(`${base}/ffmpeg-core.wasm`, 'application/wasm'),
|
|
workerURL: await toBlobURL(`${base}/ffmpeg-core.worker.js`, 'text/javascript'),
|
|
})
|
|
|
|
return ffmpeg
|
|
},
|
|
},
|
|
}
|
|
})
|