<p>libvpx is a software encoder developed by Google, and used in ffmpeg, to encode VP9. And as the Google docs say, 0-63 is the applicable range for encoding VP9 with libvpx.</p>

CC BY-SA 4.0
2020-12-21T15:08:25.627Z
Tested and confirmed on Linux version of ffmpeg it allows up to 63.
MrPotatoHead
CC BY-SA 4.0
2019-05-10T05:10:15.740Z
2019-05-10T05:10:15.740Z
Gyan
<h1>My Problem</h1>
<p>I am converting a .mov (h264) file to VP9 / WebM using ffmpeg, and I don't know what the CRF numbers mean.</p>
<h1>What Have I Tried</h1>
<p>I have read <a href="https://trac.ffmpeg.org/wiki/Encode/VP9" rel="nofollow noreferrer">this ffmpeg manual</a> about 2-pass conversion, which states that:</p>
<blockquote>
<p>To trigger this mode, you must use a combination of -crf and -b:v</p>
</blockquote>
<p>In <a href="https://developers.google.com/media/vp9/bitrate-modes/" rel="nofollow noreferrer">Google's VP9 documentation</a>, I see that:</p>
<blockquote>
<p>-crf     Sets maximum quality level. Valid values are 0-63. Lower numbers are higher quality</p>
<p>Note: Other codecs in FFmpeg accept the -crf parameter but may interpret the value differently. If you are using -crf with other codecs you will likely need different values for VP9</p>
</blockquote>
<p>However, on the <a href="https://trac.ffmpeg.org/wiki/Encode/H.264" rel="nofollow noreferrer">ffmpeg documentation</a>, I only found reference to CRF for .h264, not for the target VP9:</p>
<blockquote>
<p>The range of the CRF scale is 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible</p>
</blockquote>
<p>So, there seems to be a conflict between the VP9 CRF range on Google's site and the ffmpeg CRF range on the ffmpeg site.</p>
<h1>My Question</h1>
<p><strong>What is the scale for CRF values using ffmpeg to encode in vp9 / WebM format?</strong></p>

<ffmpeg>
What is the CRF range for VP9 conversion using ffmpeg?
Adam Matan
# What is the CRF range for VP9 conversion using ffmpeg?

(Asked by: username_0 on 2019-05-09)

# My Problem

I am converting a .mov (h264) file to VP9 / WebM using ffmpeg, and I don't know what the CRF numbers mean.

# What Have I Tried

I have read [this ffmpeg manual](https://trac.ffmpeg.org/wiki/Encode/VP9) about 2-pass conversion, which states that:

> To trigger this mode, you must use a combination of -crf and -b:v

In [Google's VP9 documentation](https://developers.google.com/media/vp9/bitrate-modes/), I see that:

> -crf Sets maximum quality level. Valid values are 0-63. Lower numbers are higher quality
>
> Note: Other codecs in FFmpeg accept the -crf parameter but may interpret the value differently. If you are using -crf with other codecs you will likely need different values for VP9

However, on the [ffmpeg documentation](https://trac.ffmpeg.org/wiki/Encode/H.264), I only found reference to CRF for .h264, not for the target VP9:

> The range of the CRF scale is 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible

So, there seems to be a conflict between the VP9 CRF range on Google's site and the ffmpeg CRF range on the ffmpeg site.

# My Question

**What is the scale for CRF values using ffmpeg to encode in vp9 / WebM format?**

**Tags:** ffmpeg


---

## 1 answers

### Answer by username_1 on 2019-05-10. Score: 2 | Accepted answer

libvpx is a software encoder developed by Google, and used in ffmpeg, to encode VP9. And as the Google docs say, 0-63 is the applicable range for encoding VP9 with libvpx.

> **Comments:**
> **username_2**: Tested and confirmed on Linux version of ffmpeg it allows up to 63.  

---

