How the Video Reverser Works
AnyTool reverses video entirely in the browser using a self-hosted single-threaded ffmpeg.wasm engine — the core (ffmpeg-core.js + the 32 MB wasm) is bundled from npm and served as a same-origin asset, so nothing is fetched from a CDN. The clip is written to ffmpeg's virtual filesystem (MEMFS) and run through the reverse video filter (with areverse for audio), then read back as a blob. Three audio modes are offered: reverse the audio with the video, keep it playing forward, or mute it entirely. An optional boomerang mode concatenates the forward clip with its reversed copy for a seamless back-and-forth loop. Because the reverse filter must buffer every frame in memory, it is best for short clips. Single-threaded is deliberate: the multi-threaded core needs SharedArrayBuffer + cross-origin isolation (COOP/COEP), which would block cross-origin ad iframes.
- Runs client-side — the video is never uploaded
- Self-hosted ffmpeg core (bundled) — no CDN
- reverse video filter + areverse for audio
- Audio modes: reverse / keep-forward / mute
- Optional boomerang via concat of forward + reversed
- Memory-bound — best for short clips; no backend, no cap
