How the Video Brightness & Contrast Tool Works
AnyTool adjusts a video's brightness and contrast 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 export pipeline applies ffmpeg's eq filter (brightness, contrast, and saturation parameters) followed by format=yuv420p for broad compatibility, then re-encodes as H.264 video with AAC audio in an MP4. While you drag the sliders, a live CSS-filter preview on the <video> element mirrors the same brightness/contrast/saturation values, so what you see matches what ffmpeg renders. Single-threaded is deliberate: the multi-threaded core needs SharedArrayBuffer + cross-origin isolation (COOP/COEP), which would block cross-origin ad iframes, so it is avoided.
- Runs client-side — the video is never uploaded
- Self-hosted ffmpeg core (bundled) — no CDN
- Uses the ffmpeg eq filter (brightness / contrast / saturation)
- Live CSS-filter preview mirrors the exact values
- format yuv420p; H.264 + AAC MP4 output
- Single-threaded (keeps ads working); no backend, no cap
