From 84bc70b4426b768e4e134f012663833767629262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Wed, 25 Feb 2026 20:51:45 +0100 Subject: [PATCH] fix: ffmpeg import --- components/media/FormatSelector.tsx | 2 +- lib/media/wasm/wasmLoader.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/components/media/FormatSelector.tsx b/components/media/FormatSelector.tsx index 1417d10..2a29713 100644 --- a/components/media/FormatSelector.tsx +++ b/components/media/FormatSelector.tsx @@ -81,7 +81,7 @@ export function FormatSelector({ {Object.entries(groupedFormats).length === 0 ? (
- No formats found matching "{searchQuery}" + No formats found matching "{searchQuery}"
) : (
diff --git a/lib/media/wasm/wasmLoader.ts b/lib/media/wasm/wasmLoader.ts index 4b2e296..b5a261d 100644 --- a/lib/media/wasm/wasmLoader.ts +++ b/lib/media/wasm/wasmLoader.ts @@ -2,6 +2,7 @@ import type { ConverterEngine, WASMModuleState } from '@/types/media'; import type { FFmpeg as FFmpegType } from '@ffmpeg/ffmpeg'; import { FFmpeg } from '@ffmpeg/ffmpeg'; import { initializeImageMagick } from '@imagemagick/magick-wasm'; +import { toBlobURL } from '@ffmpeg/util'; /** * WASM module loading state @@ -42,10 +43,13 @@ export async function loadFFmpeg(): Promise { // Use CDN URLs for FFmpeg core - avoids "dynamic require" bundler issues // with local file paths that FFmpeg's internal code cannot resolve at runtime - const coreURL = 'https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/esm/ffmpeg-core.js'; - const wasmURL = 'https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/esm/ffmpeg-core.wasm'; + const coreURL = '/wasm/ffmpeg-core.js'; + const wasmURL = '/wasm/ffmpeg-core.wasm'; - await ffmpegInstance.load({ coreURL, wasmURL }); + await ffmpegInstance.load({ + coreURL: await toBlobURL(coreURL, 'text/javascript'), + wasmURL: await toBlobURL(wasmURL, 'application/wasm') + }); moduleState.ffmpeg = true; console.log('[FFmpeg] Loaded successfully from local assets');