What about workers? Isn’t it basically the same as offloading computation heavy work to separate thread? Also, we have WebAssembly. Afaik, js threads can now share memory using SharedArrayBuffers. So I don’t think we have this single thread limitation anymore :)
Idk about this specific app, but the main problem with workers is that any data their working on needs to be copied in or side-loaded into them once they spin up. I imagine for huge video files, having each worker load up a separate copy could be a bottleneck.
Ooh. Interesting. I wrote my last worker-based app a couple years ago for chunking and crunching some large datasets. I'll have to give this a go one weekend.