WebM is a Matroska subset built for browsers, holding VP8 or VP9 video, and the slowest thing to encode on this machine by a factor of ten. MP4 is the MPEG-4 container, which is what a phone records, what a browser plays, and what almost every player opens without being asked twice. ffmpeg sits between the two, and this page says exactly what happens to a WEBM file on the way to becoming an MP4 one.
What runs when a WEBM file becomes MP4
ffmpeg held to a single thread, on a machine we rent and watch. Your WEBM file is uploaded once, ffmpeg runs once, the MP4 comes back, and neither file is kept. WEBM to MP4 is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the WEBM into the MP4
The aspect ratio of the WEBM. The engine scales to the smaller of 1280 pixels and the source width, and lets the height follow, rounded to an even number because encoders working in 4:2:0 refuse an odd one. A WEBM already 1280 pixels wide or narrower is not resized at all.
The audio track, which travels into the MP4 alongside the picture. That is the whole difference between this pair and sending the same WEBM to an audio format, where the picture is thrown away instead.
The running time and the order of the frames. ffmpeg re-encodes the WEBM, it does not re-cut it, so the MP4 starts and ends where the WEBM did.
What WEBM to MP4 costs you
Every pixel, one more time. The WEBM is decoded to raw frames and re-encoded as MP4, so whatever the WEBM had already lost stays lost and this pass adds its own on top. Run one file through the loop four or five times and the damage is visible without looking for it.
Any width past 1280 pixels. The engine scales the WEBM down to 1280 because encoder cost grows with pixel count: a 4K source costs about sixteen times a 1080p one, for an MP4 nobody asked to be that big. Below that width nothing is touched.
Subtitle and data tracks. ffmpeg passes -sn and -dn on the way into the MP4, because most of them do not fit the container and a mux that fails on a subtitle would waste a picture that converted perfectly well.
Anything past 120 seconds of WEBM. ffprobe measures the duration before the encoder starts, and a longer WEBM comes back as a refusal in under a second rather than as a timeout four minutes later.
If a model is going to read the MP4
Nothing about WEBM to MP4 helps a language model, and pretending otherwise would be a sales line rather than a fact. An MP4 is pixels and sound, both expensive to read and neither of them text. If what you actually want is what is said in the WEBM, the useful move is not MP4 at all: pull the audio out as MP3, which costs half a credit and comes back in about a second, and have that transcribed.
Running WEBM to MP4 against the real engine with a real file, ffmpeg wrote 46,854 bytes of MP4 in 0.3 seconds, machine otherwise idle. That is one WEBM file on one day and not an average, which is why the number is given together with the file that produced it.
The WEBM to MP4 verdict was reached by ffprobe, meaning the container was actually demultiplexed, recognised under the right name, and carried at least one stream. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the MP4 file has anything inside it.
The same WEBM file, sent somewhere else
Other outputs the probe measured out of a WEBM file, so the cost of choosing MP4 can be read against something. Sizes do not compare across engines, because each family was probed with its own WEBM witness file.
WEBM to GIF: 177,876 bytes in 0.1 seconds, verified by a format signature.
WEBM to MP3: 24,429 bytes in 0.1 seconds, verified by ffprobe.
WEBM to WAV: 288,078 bytes in 0.1 seconds, verified by ffprobe.
WEBM to FLAC: 178,357 bytes in 0.2 seconds, verified by ffprobe.
WEBM to OGG: 9,503 bytes in 0.2 seconds, verified by ffprobe.
WEBM to M4A: 27,734 bytes in 0.2 seconds, verified by ffprobe.
Other ways into MP4, and what they measured
Among the published routes into MP4, WEBM is the seventh largest output of the 11 measured. The witness files differ, so this ranks the probe run and not your document.
WMV to MP4: 49,069 bytes in 0.2 seconds.
FLV to MP4: 48,269 bytes in 0.3 seconds.
M4V to MP4: 45,683 bytes in 0.3 seconds.
MPG to MP4: 49,380 bytes in 0.3 seconds.
3GP to MP4: 45,683 bytes in 0.3 seconds.
What we will not pretend about WEBM to MP4
A WEBM file over 150 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
A WEBM to MP4 run that passes 240 seconds is killed, and the ffmpeg process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
The WEBM file behind the measurement on this page was 3 seconds of 320 by 240 test pattern at 25 frames a second, with a sine wave on the audio track, built by ffmpeg for the probe itself. That is why WEBM to MP4 came out at 0.3 seconds, and it is not what your file will do. The measurement proves the pair works and says almost nothing about how long yours will take.
Video is the one thing on this site that genuinely costs machine time, and the cost swings by two orders of magnitude with the encoder the container asks for: on this machine one minute of 720p source came out as AVI in 8.4 seconds and as WebM in 87, and the same minute in 1080p took 104. Expect an MP4 to cost somewhere between a fraction of the WEBM running time and twice it, not the tenth of a second the probe file took.
A WEBM longer than 120 seconds is refused before any encoding starts, with an answer that names both limits, 150 MB and 120 seconds. It is not an upsell: two minutes of MP4 encoding is roughly two minutes of the only machine there is, and the live traffic shares the same two cores.
WEBM to MP4 is the single conversion here that is not charged at the floor rate. It costs 2 credits per minute of WEBM, every started minute counts, and because the engine refuses past 120 seconds one WEBM to MP4 run can never cost more than 4 credits. The figure is on the button before you press it.
One MP4 encode at a time, and that was measured before it was decided. Two simultaneous transcodes do fit in memory, about 320 MB each, but each one goes from 104 seconds to 189: this machine is short of processor, not of memory, so throughput gains ten percent while the wait doubles. WEBM to MP4 therefore queues on a single slot and gives up after 25 seconds rather than piling up.
Nothing here reads what is inside the WEBM. No transcription, no scene detection, no summary: WEBM to MP4 is a container and codec operation, and the MP4 says exactly what the WEBM said, in a different wrapper. The picture is the whole payload.
One WEBM file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
WEBM to MP4: what people ask
What actually converts my WEBM file to MP4?
ffmpeg does it, held to a single thread, on a machine we rent and watch. Not a browser trick and not somebody else service: the WEBM file is uploaded once, ffmpeg runs once, the MP4 comes back, and neither file is kept afterwards.
How long does WEBM to MP4 take?
The probe measured 0.3 seconds for 46,854 bytes of MP4, on a 3 second test pattern, and that number is honest about the plumbing and useless about your file. A video target re-encodes every frame: budget somewhere between a fraction of the WEBM running time and twice it. The WEBM is refused past 120 seconds, so the worst case is bounded.
What do I lose going from WEBM to MP4?
The one to know about first: Every pixel, one more time. The WEBM is decoded to raw frames and re-encoded as MP4, so whatever the WEBM had already lost stays lost and this pass adds its own on top. Run one file through the loop four or five times and the damage is visible without looking for it.
Why did my MP4 come back narrower than the WEBM?
Because the engine caps every video output at 1280 pixels wide. Encoder cost grows with pixel count, and a 4K WEBM would cost about sixteen times a 1080p one on a machine that also serves everybody else. A WEBM at or below 1280 pixels comes back at its own size, untouched.
Is WEBM to MP4 free?
There is a free allowance every month, and WEBM to MP4 is the one conversion here that is not charged at the floor rate: 2 credits per minute of WEBM, every started minute counted, capped at 4 credits because the engine refuses past 120 seconds. Re-encoding an MP4 costs real machine time, so it is priced on the time it costs. The number is shown before you press anything.