Encoding Options
Reference for all encoding parameters used in Presets and Jobs.
Video codecs
Transcodely supports four video codecs. Each codec trades off compression efficiency, encoding speed, and device compatibility differently.
| Codec | Enum value | Encoder | Compression vs H.264 | Encoding speed | Hardware decode | HDR | Licensing |
|---|---|---|---|---|---|---|---|
| H.264 | h264 | libx264 | Baseline | Fast | Universal | No | Patent pools (MPEG LA) |
| H.265 | h265 | libx265 | ~40% better | Moderate | Widespread | Yes | Patent pools (MPEG LA) |
| VP9 | vp9 | libvpx-vp9 | ~30% better | Slow | Chrome, Android, modern GPUs | Yes | Royalty-free |
| AV1 | av1 | libsvtav1 | ~50% better | Moderate (SVT-AV1) | Growing (2022+ devices) | Yes | Royalty-free |
H.264 is the safe default for maximum device support. H.265 is best for 4K content and the Apple ecosystem. VP9 is royalty-free and works well in WebM for web delivery. AV1 offers the best compression but is limited to modern playback environments.
Codec-specific options
Each codec has its own options object (h264, h265, vp9, av1) that you pass on a video variant to override quality-tier defaults. See the Presets API reference for the full VideoSettings schema.
| Parameter | H.264 | H.265 | VP9 | AV1 |
|---|---|---|---|---|
| CRF range | 15-35 | 18-35 | 15-50 | 20-55 |
| Profiles | baseline / main / high | main / main10 / main-still-picture | 0-3 (numeric) | main |
| Speed param | preset: ultrafast-slower | preset: ultrafast-slower | speed: 0-8 | preset: 3-12 (numeric) |
| Tune | film / animation / grain / stillimage / fastdecode | grain / fastdecode | N/A | 0 (VQ) / 1 (PSNR) |
| Max bitrate | 240,000 kbps | 240,000 kbps | 150,000 kbps | 100,000 kbps |
| 10-bit | Limited (High10 profile) | Yes (Main10) | Yes (Profile 2) | Yes |
Default encoder settings by quality tier
| Codec | Economy | Standard | Premium | |||
|---|---|---|---|---|---|---|
| Preset | CRF | Preset | CRF | Preset | CRF | |
| H.264 | veryfast | 26 | medium | 23 | slow | 20 |
| H.265 | veryfast | 32 | medium | 26 | slow | 22 |
| VP9 | speed 8 | 50 | speed 6 | 40 | speed 4 | 30 |
| AV1 | preset 10 | 45 | preset 6 | 35 | preset 4 | 28 |
Container support (video)
| Container | H.264 | H.265 | VP9 | AV1 |
|---|---|---|---|---|
| MP4 | Yes | Yes | No | Yes |
| WebM | No | No | Yes | Yes |
| MKV | Yes | Yes | Yes | Yes |
| MOV | Yes | Yes | No | No |
| TS | Yes | Yes | No | No |
Audio codecs
| Property | AAC | Opus | MP3 |
|---|---|---|---|
| Enum value | aac | opus | mp3 |
| Sweet spot bitrate | 128-192 kbps | 64-128 kbps | 192-256 kbps |
| Min / Max bitrate | 32-512 kbps | 6-510 kbps | 32-320 kbps |
| Channels | Up to 7.1 | Up to 7.1 | Stereo only |
| Licensing | Patent pools | Royalty-free | Patents expired |
AAC is the default for MP4/MOV/TS containers with universal playback support. Opus is required for WebM and delivers the best quality at low bitrates. MP3 is supported for legacy compatibility only.
Container support (audio)
| Container | AAC | Opus | MP3 |
|---|---|---|---|
| MP4 | Yes | No | Yes |
| WebM | No | Yes | No |
| MKV | Yes | Yes | Yes |
| MOV | Yes | No | Yes |
| TS | Yes | No | Yes |
Containers
| Container | API value | Extension | Video codecs | Audio codecs | Use case |
|---|---|---|---|---|---|
| MP4 | mp4 | .mp4 | H.264, H.265, AV1 | AAC, MP3 | General delivery, progressive download |
| WebM | webm | .webm | VP9, AV1 | Opus | Web-optimized, open-source workflows |
| MKV | mkv | .mkv | All | All | Archival, maximum flexibility |
| MOV | mov | .mov | H.264, H.265 | AAC, MP3 | Apple ecosystem, professional editing |
| TS | ts | .ts | H.264, H.265 | AAC, MP3 | Broadcast, legacy streaming |
MP4 is the safest choice for web. WebM is best for VP9/AV1 web delivery. MKV is the only container that accepts every codec. The API validates codec-container combinations and rejects invalid pairings.
Resolutions
Preset resolutions
| Preset | API value | Dimensions | Pixel count |
|---|---|---|---|
| SD | 480p | 854 x 480 | ~410K |
| HD | 720p | 1280 x 720 | ~922K |
| Full HD | 1080p | 1920 x 1080 | ~2.07M |
| QHD | 1440p | 2560 x 1440 | ~3.69M |
| 4K UHD | 2160p | 3840 x 2160 | ~8.29M |
| 8K UHD | 4320p | 7680 x 4320 | ~33.2M |
Preset resolutions preserve the source aspect ratio. If the input is 4:3, a 1080p preset produces 1440x1080.
Custom dimensions
Specify width and height directly for non-standard resolutions. Allowed range: 128-7680 px wide, 128-4320 px tall.
Custom dimensions are mapped to the nearest resolution tier by pixel count for pricing purposes.
Pricing multipliers by resolution
| Resolution | Pixels | Multiplier |
|---|---|---|
| 480p | ~410K | 0.5x |
| 720p | ~922K | 0.75x |
| 1080p | ~2.07M | 1.0x |
| 1440p | ~3.69M | 1.5x |
| 2160p | ~8.29M | 2.5x |
| 4320p | ~33.2M | 5.0x |
Quality tiers
| Tier | API value | Price multiplier | VMAF target | Encoding speed |
|---|---|---|---|---|
| Economy | economy | 0.75x | 85-90 | Fast |
| Standard | standard | 1.0x | 93-95 | Moderate |
| Premium | premium | 2.0x | 97-99 | Slow |
Economy uses fast encoder presets and higher CRF values. Best for previews, thumbnails, and high-volume batch processing. Standard is the default, balancing quality, speed, and cost for most production content. Premium maximizes visual quality with slower presets and lower CRF. Best for broadcast, archival, and flagship content.
You can override individual encoder parameters (CRF, preset) while keeping a lower-tier pricing multiplier. See Pricing for the full cost formula.
Streaming formats
Transcodely packages transcoded video into adaptive streaming formats with multi-resolution ABR ladders.
| Type | API value | Output | Use case |
|---|---|---|---|
| HLS | hls | .m3u8 playlists + segments | Apple devices, Safari, most web players |
| DASH | dash | .mpd manifest + segments | Android, Chrome, cross-platform |
| Adaptive (CMAF) | adaptive | Both HLS + DASH from shared segments | Maximum compatibility, minimal storage |
Segment configuration
| Parameter | Range | Default | Description |
|---|---|---|---|
duration | 1-30 seconds | 6 | Segment duration (Apple recommends 6s) |
gop_alignment | aligned / fixed | aligned | Keyframe alignment with segment boundaries |
gop_size | 1-10 seconds | N/A | Fixed GOP size (only with fixed alignment) |
HLS supports both fMP4 (.m4s, recommended) and legacy TS (.ts, H.264 only) segment formats. DASH always uses fMP4. Multi-codec ABR ladders (e.g. H.264 + H.265 in one output) require fMP4 segments.
For detailed streaming examples including multi-audio tracks, CMAF configuration, and production ABR ladders, see the Adaptive Streaming guide.