Сама конвертация устроена максимально тупо: я просто пользуюсь ffmpeg, причем именно консольным интерфейсом. Все остальное оказалось либо еще более сложным по интерфейсу, либо неподходящим - библиотек-энкодеров для браузера в целом не так много. Хотя когда-то в будущем обещают WebCodecs.
В любом случае, я не тащу прям весь ffmpeg целиком, а компилирую его сам, только с теми фильтрами и кодеками, которые мне нужны. Получается примерно 1.5 МБ wasm-байткода. Работает (на моем компьютере), на удивление, даже довольно быстро.
Обвязку для того, чтобы компилировать ffmpeg в wasm и потом этим пользоваться, нашел здесь: