Media Converter
Convert between video and audio formats (MP4, MP3, GIF) locally in your browser.
Media Converter converts video and audio entirely in your browser — no upload. Drop a file up to 500MB, pick Output Format (MP4, WebM, GIF, MP3, WAV from video; MP3/WAV from audio), optional Resolution, Quality, Video Codec, Visual Filter, Save Mode, and Trim Start/End. A Performance Notice reminds you to keep the tab open so the browser does not pause background work.
Two engines share the UI: GPU WebCodecs via mediabunny for speed (MP4/WebM), with FFmpeg.wasm as CPU fallback and for GIF/audio outputs. Hardware Acceleration (WebCodecs) can deliver large speedups when supported, falling back safely on failure.
How it works
WebCodecs path runs a module worker with mediabunny Conversion, optional OffscreenCanvas CSS filters, BufferTarget or showSaveFilePicker StreamTarget (Direct-to-Disk, 0MB RAM). FFmpeg path loads core 0.12.6 from jsDelivr, maps Quality to CRF/MP3 bitrates, clamps scale to protect the WASM heap, caps threads at 4, and appends +faststart for MP4.
Trim fields become -ss/-to (FFmpeg) or trim {start,end} (WebCodecs). Failed WASM instances are recreated; early stale progress events are ignored.
How to use
- Open Media Converter and read the Performance Notice (keep tab visible).
- Drop or click a video/audio file (hint: MP4, WebM, MP3, WAV, etc. — Max 500MB).
- Confirm the file chip and, for video, the live preview; output format auto-selects mp4 or mp3.
- Configure Output Format, Resolution (Original → 360p), Quality (High/Medium/Low), Video Codec, Visual Filter, Save Mode, and optional Trim Start/End.
- Optionally tick Hardware Acceleration (WebCodecs) for video MP4/WebM.
- Click Convert File (busy: Hardware Encoding… / Loading Engine… / Converting…) and watch the progress bar.
- On success (Converted to EXT + size badge), click Download or Start Over.
- Use Direct-to-Disk save picker when offered for zero-RAM streaming.
Tips
- 500MB hard cap; resolution presets clamp width (1080p → 1920, 720p → 1280, …) to avoid WASM OOM.
- WebCodecs targets MP4/WebM only — GIF/MP3/WAV fall back to FFmpeg automatically.
- Quality maps to CRF 22/28/35 for video and 320/192/128 kbps for MP3; WAV ignores quality.
- Direct-to-Disk needs Chromium showSaveFilePicker; otherwise use In-Memory download later.
- Keep the tab foregrounded — browsers throttle background workers mid-convert.
Media Converter FAQ
Does my file get uploaded?
No — the card says conversions run entirely in your browser without uploading to a server.
What is the max file size?
500MB. Larger files are rejected with an explicit toast.
When is hardware acceleration used?
When the checkbox is on, WebCodecs exists, and the target is MP4/WebM — otherwise it safely falls back to CPU (FFmpeg.wasm).
Why keep the tab visible?
The Performance Notice warns that browsers pause background processes; very large files may also stress older devices.
What does Save Mode change?
Direct-to-Disk streams via a File System Access handle (0MB RAM); In-Memory buffers a Blob for later download.
Credits
- ffmpeg.wasm — CPU fallback encoder (FFmpeg compiled to WebAssembly)
- mediabunny — GPU/WebCodecs conversion and direct-to-disk streaming