This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vp8 [2020/06/09 04:11]
vp8 [2020/06/09 23:11] (current)
Line 6: Line 6:
   * [[https://​trac.ffmpeg.org/​wiki/​Encode/​VP8|ffmpeg wiki: Encode VP8]]   * [[https://​trac.ffmpeg.org/​wiki/​Encode/​VP8|ffmpeg wiki: Encode VP8]]
   * [[http://​ffmpeg.org/​ffmpeg-all.html#​libvpx|ffmpeg libvpx documentation]]   * [[http://​ffmpeg.org/​ffmpeg-all.html#​libvpx|ffmpeg libvpx documentation]]
 +==== Notes ====
 +Both VP8 and [[VP9]] are a bit confusing on how to get good encodes related to specific levels of quality, when using the documentation and ''​vpxenc''​ help output as references.
 +In it's simplest approach, if using ''​vpxenc'',​ use ''​max-q''​ as the target CRF -- the encoder won't drop quality below that level (starts at 0, ends at 63).
 +For ''​ffmpeg'',​ use ''​-crf''​ with your number and ''​-b:​v 0''​ is required.
 +For HandBrake, use ''​-q''​ with your CRF. I can't tell from docs or the code if it's passing anything about min-q and max-q to the encoder, but I don't think it is. I think it's using libavcodec to do crf=X and then b:v of 0.
 ==== Encoding Quality ==== ==== Encoding Quality ====
Line 15: Line 25:
 <​code>​ <​code>​
 ffmpeg -i video.y4m -vcodec libvpx -crf 6 -b:v 0 -y video.mkv ffmpeg -i video.y4m -vcodec libvpx -crf 6 -b:v 0 -y video.mkv
 +HandBrakeCLI -i video.y4m -e VP8 -q 6 -o video.mkv
 </​code>​ </​code>​