Convertio.com

VP9 Encoding Settings: Complete FFmpeg Guide

VP9 encoding offers superior compression but requires understanding its unique parameters. This guide covers every major VP9 setting in FFmpeg: CRF values, cpu-used speed presets, row-based multithreading, Opus audio configuration, two-pass encoding, and our converter's pipeline explained flag by flag.

Convert MP4 to WebM

VP9 encoding with optimized settings

MP4WebM

Tap to choose your file

or

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Encrypted upload via HTTPS. Files auto-deleted within 2 hours.

VP9 Encoding Modes

Constant Quality (CRF + b:v 0)

Our recommended approach for file conversion. Set a quality target with CRF and let the encoder decide the bitrate per frame. The -b:v 0 flag is required to enable pure CRF mode (otherwise FFmpeg applies a default bitrate cap).

Command: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm

Constrained Quality (CRF + bitrate cap)

Combines CRF quality targeting with a maximum bitrate. Useful for streaming where you need to stay within bandwidth limits while maintaining quality.

Command: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 2M output.webm

Variable Bitrate (VBR)

Target a specific average bitrate. Used for broadcast and streaming where bandwidth must be predictable.

Command: ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M output.webm

CRF Values for VP9

VP9's CRF scale ranges from 0 (lossless) to 63 (worst quality). Higher numbers mean more compression and lower quality.

CRF RangeQualityUse Case
0LosslessArchival (huge files)
15–20High qualityMaster copies, high-quality delivery
30–35Good balance (default)Web delivery, general use
40–50Lower qualityPreviews, thumbnails
50–63Poor qualityRarely useful

Our default is CRF 30, which produces roughly equivalent visual quality to H.264 CRF 23 at 30–50% smaller file sizes.

Speed Settings (cpu-used)

The cpu-used parameter controls encoding speed vs compression efficiency. Range: 0–8.

cpu-usedRelative SpeedCompression PenaltyUse Case
01x (baseline)None (best)Offline batch processing
1~2x~2%High-quality encoding
3~8x~5%Online converters (our setting)
5~15x~10%Quick previews
8~30x~20%Real-time / lowest latency

Multithreading (row-mt)

The -row-mt 1 flag enables row-based multithreading, which can provide 2–4x speedup on multi-core systems with no quality impact. This is a pure speed gain and should always be enabled.

Audio: Opus Settings

WebM pairs VP9 video with Opus audio, which is superior to AAC at equivalent bitrates:

  • 64 kbps: good for speech and podcasts
  • 128 kbps: transparent for most content (our default)
  • 192 kbps: high quality for music

Two-Pass vs Single-Pass

Single-pass CRF (our approach) produces the optimal quality-to-size ratio for file conversion. The encoder adjusts bitrate per frame based on complexity, resulting in the best possible quality at the target CRF.

Two-pass encoding is needed only when you must hit a specific target bitrate (streaming, broadcast). First pass analyzes content, second pass encodes with optimal bit allocation.

Our Converter's VP9 Pipeline

The complete FFmpeg command our converter uses:

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -cpu-used 3 -row-mt 1 -c:a libopus -b:a 128k output.webm

Flag by flag:

  • -c:v libvpx-vp9 — use VP9 video codec
  • -crf 30 — quality target (equivalent to H.264 CRF 23)
  • -b:v 0 — pure CRF mode, no bitrate cap
  • -cpu-used 3 — balanced speed for online conversion
  • -row-mt 1 — row-based multithreading for faster encoding
  • -c:a libopus — Opus audio codec
  • -b:a 128k — transparent audio quality

Google's Recommended Settings by Resolution

ResolutionSuggested CRFTarget Bitrate (VBR)
360p36–40200–400 kbps
480p33–36500–900 kbps
720p30–331–2 Mbps
1080p28–322–4 Mbps
2160p (4K)25–308–16 Mbps

Try VP9 Encoding

Convert using our optimized VP9 pipeline

MP4WebM

Tap to choose your file

or

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Frequently Asked Questions

VP9's encoding complexity is the price for its superior compression. Use cpu-used 3+ and row-mt 1 to speed up encoding by 5–10x with minimal quality impact.

For file conversion, single-pass CRF (our approach) gives the best quality/size ratio. Two-pass is only needed for target bitrate streaming scenarios.

cpu-used 0 provides the absolute best compression quality but can take hours for a short video. For practical use, cpu-used 3–4 provides 95% of the quality at 10–20x the speed.

Some GPUs support VP9 hardware encoding (Intel Quick Sync, NVIDIA NVENC), but software encoding via libvpx-vp9 still produces better quality at the same bitrate. Hardware encoding is useful for real-time streaming.

More MP4 to WebM Guides

What Is WebM? Google's Open Video Format Explained
WebM format explained: VP8, VP9, AV1 codecs, Opus audio, browser support, advantages, and limitations.
WebM vs MP4: Which Video Format for Web?
WebM vs MP4 compared: VP9 vs H.264, file size, quality, browser support, licensing. When to use each format.
VP9 vs H.264: Video Codec Quality & Size Compared
VP9 vs H.264 codec comparison: 30-50% smaller files, encoding speed, CRF equivalence, and hardware support.
Why WebM Is Better for Websites: Developer Guide
WebM delivers 30-50% smaller video for websites. HTML5 fallback pattern, Core Web Vitals impact, VP9 settings.
Back to MP4 to WebM Converter