<p>Use <a href="http://avanti.arrozcru.org/" rel="nofollow noreferrer">Avanti</a> with <a href="https://www.ffmpeg.org/" rel="nofollow noreferrer">ffmpeg</a>. The former has a job control manager where you drop in multiple files at once and go. You can find webm encoding guide for ffmpeg here: <a href="http://trac.ffmpeg.org/wiki/Encode/VP8" rel="nofollow noreferrer">http://trac.ffmpeg.org/wiki/Encode/VP8</a></p>

<p>Use crf mode encoding and experiment till you get desired size. Set <code>b:v</code> high like <code>10M</code> and tweak <code>CRF value</code> and if you have no audio, use <code>-an</code> in place of <code>-c:a libvorbis</code>.</p>

<p>Your Avanti GUI should look like this: </p>

<p><img src="https://i.sstatic.net/TcHUo.jpg" alt="enter image description here"></p>

<p>Change the crf number (30 in that pic) till you get the size you want.</p>

CC BY-SA 3.0
2015-07-19T18:06:00.083Z
CRF and target bitrate are mutually exclusive.  one-pass target bitrate is almost never the best choice, so just use `-crf 25 -preset veryslow` or something.
Peter Cordes
CC BY-SA 3.0
2015-07-19T19:52:56.597Z
With CRF specified, b:v is treated as the max allowable bitrate, not the target bitrate.
Gyan
CC BY-SA 3.0
2015-07-19T21:28:30.237Z
No, it isn't.  Try with `-crf 10  -b:v 200k` to prove yourself wrong.  If you look in the mediainfo of the output file, you won't see anything in the encoder settings except `rc=crf  crf=10.0` for rate control.  What you're looking for is `-maxrate 10M -bufsize 10M`, to use x264's VBV settings to cap bitrate.
Peter Cordes
CC BY-SA 3.0
2015-07-20T05:11:44.140Z
We're talking about WebM here. Please refer to this sentence in the ffmpeg guide I linked to in my answer: "there's a constant quality mode (like in the x264 encoder) that will ensure that every frame gets the number of bits it deserves to achieve a certain quality level, rather than forcing the stream to have an average bit rate. This results in better overall quality and should be your method of choice when you encode video with libvpx. In this case, the target bitrate becomes the maximum allowed bitrate."
Gyan
CC BY-SA 3.0
2015-07-20T05:15:49.260Z
You can also check by setting a low b:v and trying various crf values. When the CRF value leads to a solution lower than b:v, that's the resultant bitrate, otherwise it's close to the b:v
Gyan
CC BY-SA 3.0
2015-07-20T05:28:28.397Z
Oh sorry, I wasn't paying attention, and was thinking about x264.  That's an interesting ratecontrol option.  The OP just has a target filesize, and didn't say anything about what codecs are acceptable.  x264 can beat VP8, so I would go with that.  (VP9 can equal or beat x264, at high-cpu-usage encoding presets, last I read.)
Peter Cordes
CC BY-SA 3.0
2015-07-17T05:04:05.040Z
2015-07-17T13:26:07.817Z
2015-07-17T13:26:07.817Z
Gyan
<p>Let's say that I have a webm of XMB, and I want to resize it to 2MB in order too upload it to some websites. How can I do it?
Is there a website? Can I downsize them in mass?</p>

<video><conversion><animation>
How can I reduce the size of a webm to 2MB?
user11230
# How can I reduce the size of a webm to 2MB?

(Asked by: username_0 on 2015-07-14)

Let's say that I have a webm of XMB, and I want to resize it to 2MB in order too upload it to some websites. How can I do it?
Is there a website? Can I downsize them in mass?

**Tags:** video, conversion, animation


---

## 1 answers

### Answer by username_1 on 2015-07-17. Score: 3

Use [Avanti](http://avanti.arrozcru.org/) with [ffmpeg](https://www.ffmpeg.org/). The former has a job control manager where you drop in multiple files at once and go. You can find webm encoding guide for ffmpeg here: <http://trac.ffmpeg.org/wiki/Encode/VP8>

Use crf mode encoding and experiment till you get desired size. Set `b:v` high like `10M` and tweak `CRF value` and if you have no audio, use `-an` in place of `-c:a libvorbis`.

Your Avanti GUI should look like this:

![enter image description here](https://i.sstatic.net/TcHUo.jpg)

Change the crf number (30 in that pic) till you get the size you want.

> **Comments:**
> **username_2**: CRF and target bitrate are mutually exclusive.  one-pass target bitrate is almost never the best choice, so just use `-crf 25 -preset veryslow` or something.  
> **username_1**: With CRF specified, b:v is treated as the max allowable bitrate, not the target bitrate.  
> **username_2**: No, it isn't.  Try with `-crf 10  -b:v 200k` to prove yourself wrong.  If you look in the mediainfo of the output file, you won't see anything in the encoder settings except `rc=crf  crf=10.0` for rate control.  What you're looking for is `-maxrate 10M -bufsize 10M`, to use x264's VBV settings to cap bitrate.  
> **username_1**: We're talking about WebM here. Please refer to this sentence in the ffmpeg guide I linked to in my answer: "there's a constant quality mode (like in the x264 encoder) that will ensure that every frame gets the number of bits it deserves to achieve a certain quality level, rather than forcing the stream to have an average bit rate. This results in better overall quality and should be your method of choice when you encode video with libvpx. In this case, the target bitrate becomes the maximum allowed bitrate."  
> **username_1**: You can also check by setting a low b:v and trying various crf values. When the CRF value leads to a solution lower than b:v, that's the resultant bitrate, otherwise it's close to the b:v  
> **username_2**: Oh sorry, I wasn't paying attention, and was thinking about x264.  That's an interesting ratecontrol option.  The OP just has a target filesize, and didn't say anything about what codecs are acceptable.  x264 can beat VP8, so I would go with that.  (VP9 can equal or beat x264, at high-cpu-usage encoding presets, last I read.)  

---

