Skip to main content

SVT-VP9

Under Maintenance

The content in this entry is incomplete & is in the process of being completed.

SVT-VP9 is a VP9 encoder developed by Intel.
Like its siblings in the SVT encoder family, it scales very well on multicore processors by default.

The reference encoder beats it in rate control flexibility and supports 10-bit color,
but SVT-VP9 is much faster out of the box.

FFmpeg​

There are patches bundled in the SVT-VP9 source code for an FFmpeg plugin that adds the libsvt_vp9 encoder.
One must recompile FFmpeg with the plugin patch applied to take advantage of it.
(An easy way to do so on Windows is using media-autobuild_suite.)

Operation is not too different from the SVT-AV1 FFmpeg integration. Your commands will generally look like this:
ffmpeg -i video.mp4 -c:v libsvt_vp9 -qp 38 -tune ssim -preset 7 -g 255 video_vp9.webm

Parameters
ParameterDescription
-qpQuantizer value, higher = lower quality. Range is 1..51 in current patches, but -qmin/-qmax can be set as high as 69 for extreme low bitrates.
-presetSpeed preset. Range is 0..9, with 9 being fastest and default.
-tuneQuality metric. Can be "vq" (default), "ssim" or "vmaf".
-gSize of the Group of Pictures. Range is -2..255, with -1 = no intraframe updates ever, -2 = "auto".
We recommend you set it as high as possible for encode efficiency.
-rcRate control mode.
Can be "cqp" (Constant Quantizer, default), "vbr" (Variable Bitrate) or "cbr" (Constant Bitrate).
(Consider using vpxenc's two-pass mode if you really need to match a target bitrate.)
-levelEncoder level. Range is 1..6. Generally better not to set it.
-socketIndex of the CPU socket to use. By default it's -1, which uses "all available processors".

Supported Color Space​

SVT-VP9 only supports 8-bit yuv420p.

Usage​

Standalone​

To be filled. If you believe you can help, see our Contribution Guide.