VP9 Tips
Encoding Modes and Recommended Command Line Options
Configure libvpx with no parameters (works on most platforms):
configure
If you encounter any issues, use:
configure --disable-unit-tests
Build
make -j16
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