When doing 2 pass video encoding with VP8 (libvpx), is there a way to figure out the optimal bitrate, so I don't have to guess?

Something like a small compression test, or some ffmpeg command, that will help me determine the appropriate bitrate?

I tried reading the VP8 1st pass stats file in notepad, but it's all garbled.

I'm using Windows 7 with the latest FFmpeg build.


Why not use a constant quality rate control (CRF) that will let the encoder choose an optimal bitrate ?

ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 20M -c:a libvorbis output.webm

The CRF value can be set within [4 ; 63], 4 being the best quality. 10 is a well accepted value. The specified -b:v 20M becomes the maximum allowed bitrate.

Two-pass encoding should only be used when you need a fixed-size file, otherwise, CRF is the preferred method.

More information in the VP8/FFmpeg article.

  • This CRF value seems low, but maybe the ranges are specific to an encoder? – Tobu Sep 15 '15 at 23:00
  • It's CRF specific to the VP8 encoder which is different from x264's CRF. – Ely Sep 16 '15 at 11:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.