ConstURL to image.worker.js
URL to audio.worker.js
URL to video.worker.js
URL to ffmpeg-core.js (or ffmpeg-core-mt.js if SharedArrayBuffer is supported)
URL to ffmpeg-core.wasm
URL to ffmpeg-core.worker.js (required for multi-threading)
Threshold (in bytes) for bypassing Web Workers to avoid communication overhead. Files smaller than this will run on the main thread for lower latency. Default: 4MB (4 * 1024 * 1024). Set to 0 to always use Web Workers.
Threshold (in bytes) for AVIF main-thread execution. Set to Infinity so AVIF always runs on the main thread via @jsquash/avif. @ffmpeg/core-mt excludes libaom-av1, so routing AVIF to the FFmpeg heavy path in a Worker always fails. @jsquash/avif handles multi-threading internally (via its own sub-workers) when SharedArrayBuffer is available.
Threshold (in bytes) for WAV audio fast-path execution on the main thread. WebCodecs AudioEncoder is CPU-intensive per byte — use a lower limit than images. Non-WAV inputs always bypass the main thread (fast path only decodes WAV). Default: 1MB (1 * 1024 * 1024).
When a Worker is already warm (loaded within the idle window), cold-start cost is gone. Only postMessage overhead (~1 ms) remains. Use this lower threshold instead of per-engine cold thresholds. Default: 512KB (512 * 1024).
Global configuration for Web Workers and execution thresholds.