MP4 to WebM
In your browser, no upload
WebM
H.264 → VP8 · re-encoded
Video
MP4 → WebMSpecification
7 rows| Item | Value | Notes |
|---|---|---|
| Input | MP4, MOV | Or any video FFmpeg reads |
| Output | WebM, VP8 + Vorbis | Plays in every browser that plays WebM |
| Picture | Re-encoded as VP8 | CRF 10, at most 0.1 bit per pixel |
| Sound | Vorbis | Copied when it is already Vorbis or Opus, else Vorbis quality 4 |
| Time | Measured before it starts | A 2-second test encode on this device |
| Engine | This browser’s own encoder, or FFmpeg (16.8 MB) | FFmpeg is downloaded only when the browser cannot do the job, and only when you press the button that says so |
| Processed in | This browser | Not sent to a server |
What happens
5What happens, and why
WebM is the royalty-free video format made for the web. Every major browser plays it in a page’s video element, and some sites and tools ask for it by name. This page makes a WebM with VP8 picture and Vorbis sound from any video FFmpeg reads — MP4, MOV, MKV, AVI.
VP8 and Vorbis, not VP9 and Opus. The newer pair compresses better, but in this page’s FFmpeg build the VP9 encoder crashes inside the browser, and so does the Opus encoder on anything but mono sound — so they are not offered rather than offered broken. VP8 and Vorbis are the codecs WebM started with, and every browser that plays WebM plays them. The picture is set to constant quality, CRF 10, with a ceiling of 0.1 bit per pixel per frame so a busy scene cannot run away with the file size. Sound that is already Vorbis or Opus is copied; anything else is re-encoded as Vorbis at quality 4, about 128 kbps by Xiph’s own table.
First the page asks the browser itself. Browsers carry the video encoders they use for calls and screen recording — H.264, VP9, AAC, Opus, often on the graphics chip — and when this browser can read your file and write the result with them, that is what happens: nothing is downloaded, the time is measured here first, and the line under the badge says the browser’s encoder did the work. MP4, MOV, WebM and MKV files usually qualify. AVI, WMV and FLV do not, and neither does an MP3, so those go the way below.
The work is done by FFmpeg, the program most video software is built on, compiled to WebAssembly so that it runs inside this page. It is large — 16.8 MB — and it is not downloaded until you press the button that says so. Then it reads your file, encodes 2 seconds from the middle of it as a test, and tells you how long the whole file will take on this device, before anything starts. That figure is measured here rather than taken from a table: the same engine and settings, your processor, your video. It is still an estimate, and it is labelled as one.
It is slower than a program installed on a computer. Here FFmpeg runs on one processor core, because a browser only lets a page use more when the site is served with particular security headers, and it cannot use the graphics chip’s video encoder at all. A long high-resolution video can take many minutes, and longer on a phone. The estimate says so before you commit to it, the progress line shows the time left as it goes, and Cancel stops it at once. When the browser’s own encoder can do the job, it is far quicker, and nothing is downloaded.
FAQ
4Can it make a VP9 or Opus WebM
Not here. In the FFmpeg build this page runs, the VP9 encoder crashes in the browser in every setting tried, and the Opus encoder does on stereo sound. VP8 and Vorbis play everywhere WebM does; if a site specifically requires VP9 or Opus, a desktop tool is the way.
Does it keep transparency
No. The picture is written without an alpha channel, so a transparent video comes out on a solid background.
Why does it take so long
Every frame is decoded and encoded again, on one core of your processor, inside the browser. Installed programs use every core and usually the graphics chip’s encoder; a web page gets neither by default. The page measures how long it will be on your device before you start, so the wait is never a surprise.
Is the video uploaded
No. The engine is downloaded to your browser, and your file is read and written there. There is no upload endpoint on this site, so there is nowhere for the video to go.