Search Documentation
Search across all documentation pages
VP9

VP9

VP9 is Google’s royalty-free video codec, widely used for web delivery via WebM containers. It offers roughly 30% better compression than H.264 and is natively supported in Chrome, Firefox, Edge, and Android. Transcodely uses the libvpx-vp9 encoder.

Quick Start

{
  "type": "webm",
  "video": [
    {
      "codec": "vp9",
      "resolution": "1080p",
      "quality": "standard"
    }
  ]
}

VP9Options Reference

Override defaults by passing the vp9 object on a video variant:

{
  "codec": "vp9",
  "resolution": "1080p",
  "quality": "standard",
  "vp9": {
    "speed": 4,
    "quality": "good",
    "crf": 35,
    "tile_columns": 2
  }
}

Key Differences from H.264/H.265

VP9 uses a fundamentally different parameter model than x264/x265:

ConceptH.264/H.265VP9
Speed controlpreset (string: ultrafast-placebo)speed (integer: 0-8)
Quality modetune (string: film, grain…)quality (string: good, best, realtime)
ProfilesNamed strings (baseline, main, high)Numeric (0, 1, 2, 3)
LevelsDefined (3.0, 4.1, 5.1…)Not applicable
CRF range15-35 (H.264) / 18-35 (H.265)15-50
Max bitrate240,000 kbps150,000 kbps

Speed Setting

The speed parameter (0-8) controls the encoding speed-to-quality tradeoff. This is VP9’s equivalent of H.264 presets.

SpeedEncoding SpeedQualityRecommended For
0Extremely slowBestArchival (rarely used)
1Very slowExcellentPremium mastering
2SlowVery goodHigh-quality streaming
3Below averageGoodPremium tier
4AverageGoodPremium tier (default)
5Above averageAbove averageStandard tier
6FastAverageStandard tier (default)
7Very fastBelow averageEconomy tier
8FastestLowestEconomy tier (default)

Default by quality tier:

Quality TierDefault SpeedDefault CRF
economy850
standard640
premium430

Quality Mode

The quality parameter selects the overall encoding strategy:

ModeDescriptionUse Case
goodBalanced quality and speed (default)Most production content
bestMaximum quality, slowestArchival, mastering
realtimeFastest, lower qualityLive streaming (not recommended for VOD)

For VOD transcoding, good is almost always the right choice. The best mode provides marginal quality improvement at significant encoding time cost.

Profiles

VP9 uses numeric profiles that determine color format and bit depth:

ProfileColor FormatBit DepthUse Case
04:2:08-bitMaximum compatibility (default, recommended)
14:2:2 / 4:4:48-bitProfessional color workflows
24:2:010/12-bitHDR content, wide color gamut
34:2:2 / 4:4:410/12-bitProfessional HDR workflows

Profile 0 is the default and offers the widest playback compatibility. Use Profile 2 for 10-bit content when targeting modern browsers.

CRF (Constant Rate Factor)

Allowed range: 15-50. VP9 uses a different scale than H.264.

CRF RangeQualityUse Case
15-25Very highArchival, mastering
26-33HighPremium streaming
34-40GoodStandard streaming (default: 40)
41-45AcceptableMobile, previews
46-50LowerLow-bandwidth delivery

Tile Configuration

Tiles divide each frame into independent regions that can be encoded in parallel. More tiles increase encoding speed but slightly reduce compression efficiency.

ParameterRangeDefaultDescription
tile_columns0-6AutoNumber of tile columns (log2 scale)
tile_rows0-2AutoNumber of tile rows (log2 scale)

Tile values are specified in log2: a value of 2 means 2^2 = 4 tile columns.

Recommended tile_columns by resolution:

Resolutiontile_columnsActual Columns
480p-720p0 or 11
1080p24
1440p-2160p38
4320p416

Other Parameters

ParameterRangeDefaultDescription
bitrate100-150,000 kbpsNone (CRF mode)Target bitrate
min_bitrate100-150,000 kbpsNoneMinimum bitrate for VBR
max_bitrate100-150,000 kbpsNoneMaximum bitrate for VBR
keyint1-600 frames250Maximum keyframe interval

Example: High-Quality Web Delivery

{
  "codec": "vp9",
  "resolution": "1080p",
  "quality": "premium",
  "vp9": {
    "speed": 2,
    "quality": "good",
    "crf": 30,
    "tile_columns": 2
  }
}

Example: Fast Economy Encode

{
  "codec": "vp9",
  "resolution": "720p",
  "quality": "economy",
  "vp9": {
    "speed": 8,
    "crf": 45
  }
}

Container Compatibility

VP9 works with: WebM, MKV, HLS (fMP4 segments), DASH

VP9 does not work with: MP4, MOV, TS