VP9 Tips

Encoding Modes and Recommended Command Line Options

Encoding

Control bitrate mode (achieves a given target bitrate):

vpxenc <input_y4m> -o <out_filename_vp9> --codec=vp9 --cpu-used=0 \

  --target_bitrate=<bitrate_in_kbps> --kf-max-dist=<max_kf_distance_in_frames>

Constant quality mode (achieves a given quality level):

vpxenc <input_y4m> -o <out_filename_vp9> --codec=vp9 --cpu-used=0 \

  --end-usage=3 --cq-level=<desired quality in quant scale 0-63> \

  --kf-max-dist=<max_kf_distance_in_frames>

Constrained Quality mode (Achieves a given quality level subject to an upper bound on bitrate):

vpxenc <input_y4m> -o <out_filename_vp9> --codec=vp9 --cpu-used=0 \

  --end-usage=2 --cq-level=<desired quality in quant scale 0-63> \

  --target-bitrate=<max_bitrate_constraint_in_kbps> --kf-max-dist=<max_kf_distance_in_frames>

Decoding

vpxdec --progress --codec=vp9 -o /tmp/football_vp9.y4m /tmp/football.webm