// the find
scalarhq/videotranscode.space
A video transcoder and converter built using Web Assembly and FFMPEG to transcode and convert videos right in your browser while protecting your privacy
Browser-based video transcoder that runs FFmpeg via WebAssembly entirely client-side — no uploads, no server. It's aimed at developers and privacy-conscious users who need quick format conversions without sending files to a third party. The CLUI (command-line-style UI) is an interesting design choice for non-technical users.
The core privacy promise is real: FFmpeg runs in-browser via SharedArrayBuffer + WASM, so files never leave the machine. The feature set covers more than basic transcoding — trim, concat, speed adjustment, GIF export, greyscale, photo montage — all wired through a plugin-style feature system that's reasonably easy to extend. Codecs and formats are defined in YAML files, which makes adding or tweaking codec options a straightforward text edit rather than a code change. The workflow system lets users compose multiple operations in sequence, which is a genuinely useful power-user feature.
The repo has been dead since December 2021, which is a serious problem for anything touching FFmpeg.wasm — the WASM ecosystem has moved on significantly and the bundled ffmpeg-core.js in /public is a frozen snapshot that won't get CVE fixes. SharedArrayBuffer requires cross-origin isolation headers (COOP/COEP), and the README doesn't mention this; anyone deploying this will hit a blank screen until they figure that out. The build pipeline runs a 'generate' step that produces codec/format JS from YAML, but the generated output is checked into git alongside the source, which is a maintenance trap. No real error handling surface for FFmpeg failures — if a transcode silently fails or produces a corrupt output, the user gets no useful feedback.