
MP4 to WebM
Transcode an MP4 to WebM. H.264/AAC and VP8-VP9/Opus are unrelated codec families, so every frame is decoded and re-encoded rather than copied, in the browser only, through WebCodecs.
MP4 to WebM re-encodes a clip from H.264 and AAC into VP8, VP9 or Opus, at a quality preset, medium by default. Those codec families share nothing, so every frame decodes and gets encoded again rather than simply copied into a new box. WebCodecs performs the work, so only a browser tab can open this page.
Questions
Is this a container swap or a real re-encode?
A real re-encode. H.264 and AAC are unrelated to VP8, VP9 or Opus at the bit level, so every frame is decoded and encoded again through WebCodecs rather than repackaged.
What quality is lost?
One generation of re-encoding loss, controlled by the quality option, low, medium or high, medium by default, applied to both the video and audio track. There is no bitrate or resolution field, only that one preset.
Which engine handles this, and where can it run?
The mediabunny Conversion API drives WebCodecs for both decode and encode, so this needs a browser and is marked browser only. The command line and MCP refuse it with a message pointing at the web page, where the same code runs in a Web Worker.
What size should I expect?
The result varies with the source and the quality preset. A short clip converts to a real EBML/WebM file comfortably over a few kilobytes, well above what an empty container would produce.
What is the reverse page?
WebM to MP4 runs the opposite direction, the reverse pair of this one, with the same re-encode and quality trade-off.