But, we believe we need WebAssembly + Wasm-Threads. Without threads it will be a very difficult task to port VLC: you notably need one thread for input, one for audio output, one for video output, and one for the playlist.
However, threads are supposed to come in an update to WebAssembly. So that will be cool.
Also, VLC is very very heavily modularized, and Wasm will bring modules.
Finally, porting all codecs will be hard (FFmpeg), but VLC has some very simple modules for a few codecs, like theora and mpeg2, so it is easy to start and port one module after another...