mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-18 04:50:57 +08:00
25 lines
732 B
TypeScript
25 lines
732 B
TypeScript
import { FFmpeg } from '@ffmpeg/ffmpeg'
|
|
import { toBlobURL } from '@ffmpeg/util'
|
|
import { defineNuxtPlugin } from 'nuxt/app'
|
|
|
|
let ffmpeg: FFmpeg | null = null
|
|
|
|
export default defineNuxtPlugin(() => {
|
|
return {
|
|
provide: {
|
|
ffmpeg: async () => {
|
|
if (ffmpeg) return ffmpeg
|
|
ffmpeg = new FFmpeg()
|
|
const base = `https://unpkg.com/@ffmpeg/core-mt@0.12.10/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
|
|
},
|
|
},
|
|
}
|
|
})
|