I'm guessing no one did GPU-optimizations? I saw a web app (not an ffmpeg transpilation) that went clever and used WebGL so it can access the GPU and use its parallel processing capabilities...
Will the experience for those low end computers be degraded?
It’s been awhile since I actually used ffmeg directly but I do recall trying to transcode some video to a different format and it took some time on a 2015 MacBook (not a MBP, like a thinner version of the MBA, lol)
Here's a video showcasing it! https://twitter.com/wasmerio/status/1687238131395768320
I believe we can bring ffmpeg to any programming language quite easily... stay tuned!
Plenty of scenarios where that doesn't matter and it's fine to trust the client, but just something to be aware of.
ffmpeg.wasm – a pure WebAssembly / JavaScript port of FFmpeg - https://news.ycombinator.com/item?id=33794122 - Nov 2022 (23 comments)
FFmpeg for browser and Node, powered by WebAssembly - https://news.ycombinator.com/item?id=28251801 - Aug 2021 (87 comments)
A pure WebAssembly / JavaScript port of FFmpeg - https://news.ycombinator.com/item?id=24987861 - Nov 2020 (125 comments)
I’m working on something right now where I’m having to use a web service to merge an mp3 and mp4. Doesn’t even need to re-encode. So this might be perfect if a decent amount of browsers can run it.
Multithreading probably requires https://caniuse.com/sharedarraybuffer
Hardware encoding is great for quickly getting a camera feed to disk at a non-professional quality level, but it's hard to imagine ever using it to do a re-encode of anything -- where you usually want to prioritize quality and a smaller size over encoding speed.
The browser seems on track to do everything except giving first-class support for other languages.
I've been studying the WebGPU API, which seems good, and visions of even our game engines being written in JavaScript are continually before my eyes.