My goal was to give users something low friction: no accounts, no software to install, no uploading files to servers, and no ads or annoying popups.
It runs on the multithreaded FFmpeg WASM build. While impressive, there are limitations with file sizes. The real pain was getting FFmpeg commands to terminate properly.
For anyone working on something similar who keeps running into commands that hang endlessly don't give up. The answer is controlling the number of threads FFmpeg uses at different steps in the processing pipeline.
Any feedback appreciated.