Audio and video
One FFmpeg engine, a sequential queue and GIF treated as video.
Audio and video share one FFmpeg WASM instance. Jobs enter a queue, so only one FFmpeg conversion runs at a time.
Engine loading
On the first audio or video file, the application loads /ffmpeg/ffmpeg-core.js and /ffmpeg/ffmpeg-core.wasm from the same origin with a 120-second timeout. Once loaded, conversions need no network access while the tab remains open.
The header changes from Engine inactive to Loading… and then Engine ready. The Console button displays FFmpeg logs.
Queue behavior
- an FFmpeg job moves from
queuedtoconverting; - images do not wait for this queue;
- Convert all completes parallel images before processing media in sequence;
- cancelling a media job aborts it and may terminate the engine to release the thread.
Closing or reloading the tab while files remain triggers the browser's native navigation warning.
GIF
Extension .gif or MIME image/gif always maps to video. The verified encoding uses fps=10, width 480 and the lanczos filter. It is not a Canvas animation.
Common outputs
| Output | Verified encoding |
|---|---|
| MP4 / MKV | libx264, ultrafast, CRF 28, AAC audio |
| WEBM | libvpx and Vorbis |
| AVI / MOV | libx264, ultrafast, CRF 28 |
| MP3 | libmp3lame, quality 4 |
| AAC | 128k |
| OGG | Vorbis quality 4 |
| FLAC | flac |
| WAV | pcm_s16le |
A file can fail when the core does not support its source codec. See Formats and FFmpeg WASM.