FFmpeg - Encode VP9

From PiRho Knowledgebase
Jump to navigationJump to search

Two-pass is the recommended encoding method for libvpx-vp9 as some quality-enhancing encoder features are only available in 2-pass mode.
Constant quality 2-pass is invoked by setting -b:v to zero and specifying a quality level using the -crf switch:

ffmpeg -i <input.file> -c:v libvpx-vp9 -b:v 0 -crf 30 -pass 1 -an -f null /dev/null && \
ffmpeg -i <input.file> -c:v libvpx-vp9 -b:v 0 -crf 30 -pass 2 -c:a libopus <output.file>

Note: Windows users should use NUL instead of /dev/null and ^ instead of \.
Reference: [FFmpeg: FFmpeg and VP9 Encoding Guide]