Skip to content

node-av / constants / EncoderOptionsMap

Interface: EncoderOptionsMap

Defined in: src/constants/options.ts:355

Properties

aac

aac: object

Defined in: src/constants/options.ts:360

AAC (Advanced Audio Coding)

aac_coder?

optional aac_coder?: "fast" | "twoloop"

Coding algorithm

aac_is?

optional aac_is?: boolean

Intensity stereo coding

aac_ms?

optional aac_ms?: boolean

Force M/S stereo coding

aac_pce?

optional aac_pce?: boolean

Forces the use of PCEs

aac_pns?

optional aac_pns?: boolean

Perceptual noise substitution

aac_tns?

optional aac_tns?: boolean

Temporal noise shaping

See

https://ffmpeg.org/ffmpeg-codecs.html#aac


alac

alac: object

Defined in: src/constants/options.ts:378

ALAC (Apple Lossless Audio Codec)

max_prediction_order?

optional max_prediction_order?: number

min_prediction_order?

optional min_prediction_order?: number

See

https://ffmpeg.org/ffmpeg-codecs.html#alac


amv

amv: object

Defined in: src/constants/options.ts:386

AMV Video

border_mask?

optional border_mask?: number

increase the quantizer for macroblocks close to borders

chroma_elim_threshold?

optional chroma_elim_threshold?: number

single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

error_rate?

optional error_rate?: number

Simulate errors in the bitstream to test error concealment.

lmax?

optional lmax?: number

maximum Lagrange factor (VBR)

lmin?

optional lmin?: number

minimum Lagrange factor (VBR)

luma_elim_threshold?

optional luma_elim_threshold?: number

single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

mpv_flags?

optional mpv_flags?: string & object | "skip_rd" | "strict_gop" | "qp_rd" | "cbp_rd" | "naq"

Flags common for all mpegvideo-based encoders.

noise_reduction?

optional noise_reduction?: number

Noise reduction

ps?

optional ps?: number

RTP payload size in bytes

qsquish?

optional qsquish?: number

how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

quantizer_noise_shaping?

optional quantizer_noise_shaping?: number

rc_buf_aggressivity?

optional rc_buf_aggressivity?: number

currently useless

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

rc_init_cplx?

optional rc_init_cplx?: number

initial complexity for 1-pass encoding

rc_qmod_amp?

optional rc_qmod_amp?: number

experimental quantizer modulation

rc_qmod_freq?

optional rc_qmod_freq?: number

experimental quantizer modulation

skip_cmp?

optional skip_cmp?: "psnr" | "rd" | "sad" | "sse" | "satd" | "dct" | "bit" | "zero" | "vsad" | "vsse" | "nsse" | "dctmax" | "chroma" | "msad" | "dct264"

Frame skip compare function

skip_exp?

optional skip_exp?: number

Frame skip exponent

skip_factor?

optional skip_factor?: number

Frame skip factor

skip_threshold?

optional skip_threshold?: number

Frame skip threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#amv


apng

apng: object

Defined in: src/constants/options.ts:431

APNG (Animated Portable Network Graphics) image

dpi?

optional dpi?: number

Set image resolution (in dots per inch)

dpm?

optional dpm?: number

Set image resolution (in dots per meter)

pred?

optional pred?: "none" | "sub" | "up" | "avg" | "paeth" | "mixed"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#apng


av1_amf

av1_amf: object

Defined in: src/constants/options.ts:443

AMD AMF AV1 encoder

align?

optional align?: "none" | "64x16" | "1080p"

alignment mode

aq_mode?

optional aq_mode?: "none" | "caq"

adaptive quantization mode

async_depth?

optional async_depth?: number

Set maximum encoding parallelism. Higher values increase output latency.

bf?

optional bf?: number

B Picture Pattern

bitdepth?

optional bitdepth?: "8" | "10"

Set color bit deph

enforce_hrd?

optional enforce_hrd?: boolean

Enforce HRD

filler_data?

optional filler_data?: boolean

Filler Data Enable

forced_idr?

optional forced_idr?: boolean

Force I frames to be IDR frames

header_insertion_mode?

optional header_insertion_mode?: "none" | "frame" | "gop"

Set header insertion mode

high_motion_quality_boost_enable?

optional high_motion_quality_boost_enable?: boolean

Enable High motion quality boost mode

latency?

optional latency?: "none" | "power_saving_real_time" | "real_time" | "lowest_latency"

Set the encoding latency mode

level?

optional level?: "auto" | "2.0" | "2.1" | "2.2" | "2.3" | "3.0" | "3.1" | "3.2" | "3.3" | "4.0" | "4.1" | "4.2" | "4.3" | "5.0" | "5.1" | "5.2" | "5.3" | "6.0" | "6.1" | "6.2" | "6.3" | "7.0" | "7.1" | "7.2" | "7.3"

Set the encoding level (default auto)

max_b_frames?

optional max_b_frames?: number

Maximum number of consecutive B Pictures

max_qp_b?

optional max_qp_b?: number

max quantization parameter for B-frame

max_qp_i?

optional max_qp_i?: number

max quantization parameter for I-frame

max_qp_p?

optional max_qp_p?: number

max quantization parameter for P-frame

min_qp_b?

optional min_qp_b?: number

min quantization parameter for B-frame

min_qp_i?

optional min_qp_i?: number

min quantization parameter for I-frame

min_qp_p?

optional min_qp_p?: number

min quantization parameter for P-frame

pa_activity_type?

optional pa_activity_type?: "y" | "yuv"

Set the type of activity analysis

pa_adaptive_mini_gop?

optional pa_adaptive_mini_gop?: boolean

Enable Adaptive B-frame

pa_caq_strength?

optional pa_caq_strength?: "low" | "medium" | "high"

Content Adaptive Quantization strength

pa_frame_sad_enable?

optional pa_frame_sad_enable?: boolean

Enable Frame SAD algorithm

pa_high_motion_quality_boost_mode?

optional pa_high_motion_quality_boost_mode?: "none" | "auto"

Sets the PA high motion quality boost mode

pa_initial_qp_after_scene_change?

optional pa_initial_qp_after_scene_change?: number

The QP value that is used immediately after a scene change

pa_lookahead_buffer_depth?

optional pa_lookahead_buffer_depth?: number

Sets the PA lookahead buffer size

pa_ltr_enable?

optional pa_ltr_enable?: boolean

Enable long term reference frame management

pa_max_qp_before_force_skip?

optional pa_max_qp_before_force_skip?: number

The QP threshold to allow a skip frame

pa_paq_mode?

optional pa_paq_mode?: "none" | "caq"

Sets the perceptual adaptive quantization mode

pa_scene_change_detection_enable?

optional pa_scene_change_detection_enable?: boolean

Enable scene change detection

pa_scene_change_detection_sensitivity?

optional pa_scene_change_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of scene change detection

pa_static_scene_detection_enable?

optional pa_static_scene_detection_enable?: boolean

Enable static scene detection

pa_static_scene_detection_sensitivity?

optional pa_static_scene_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of static scene detection

pa_taq_mode?

optional pa_taq_mode?: "none" | "1" | "2"

Sets the temporal adaptive quantization mode

preanalysis?

optional preanalysis?: boolean

Enable preanalysis

preencode?

optional preencode?: boolean

Enable preencode

preset?

optional preset?: "high_quality" | "quality" | "balanced" | "speed"

Set the encoding quality preset

profile?

optional profile?: "main"

Set the profile

qp_b?

optional qp_b?: number

quantization parameter for B-frame

qp_i?

optional qp_i?: number

quantization parameter for I-frame

qp_p?

optional qp_p?: number

quantization parameter for P-frame

quality?

optional quality?: "high_quality" | "quality" | "balanced" | "speed"

Set the encoding quality preset

qvbr_quality_level?

optional qvbr_quality_level?: number

Sets the QVBR quality level

rc?

optional rc?: "cqp" | "vbr_latency" | "vbr_peak" | "cbr" | "qvbr" | "hqvbr" | "hqcbr"

Set the rate control mode

skip_frame?

optional skip_frame?: boolean

Rate Control Based Frame Skip

smart_access_video?

optional smart_access_video?: boolean

Enable Smart Access Video to enhance performance by utilizing both APU and dGPU memory access

usage?

optional usage?: "transcoding" | "ultralowlatency" | "lowlatency" | "webcam" | "high_quality" | "lowlatency_high_quality"

Set the encoding usage

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005famf


av1_d3d12va

av1_d3d12va: object

Defined in: src/constants/options.ts:568

D3D12VA av1 encoder

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

intra_refresh_duration?

optional intra_refresh_duration?: number

Number of frames over which to spread intra refresh (0 = GOP size)

intra_refresh_mode?

optional intra_refresh_mode?: "none" | "row_based"

Set intra refresh mode

level?

optional level?: number

Set level (general_level_idc)

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

me_precision?

optional me_precision?: "maximum" | "full_pixel" | "half_pixel" | "quarter_pixel" | "eighth_pixel"

Motion estimation precision mode

profile?

optional profile?: number

Set profile (general_profile_idc)

qp?

optional qp?: number

Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR"

Set rate control mode

tier?

optional tier?: number

Set tier (general_tier_flag)

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005fd3d12va


av1_nvenc

av1_nvenc: object

Defined in: src/constants/options.ts:598

NVIDIA NVENC av1 encoder

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-strength?

optional aq-strength?: number

When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive)

b_adapt?

optional b_adapt?: boolean

When lookahead is enabled, set this to 0 to disable adaptive B-frame decision

b_ref_mode?

optional b_ref_mode?: "disabled" | "each" | "middle"

Use B frames as references

cbr_padding?

optional cbr_padding?: boolean

Pad the bitstream to ensure bitrate does not drop below the target in CBR mode

cq?

optional cq?: number

Set target quality level (0 to 63, 0 means automatic) for constant quality mode in VBR rate control

delay?

optional delay?: number

Delay frame output by the given amount of frames

dpb_size?

optional dpb_size?: number

Specifies the DPB size used for encoding (0 means automatic)

extra_sei?

optional extra_sei?: boolean

Pass on extra SEI data (e.g. a53 cc) to be included in the bitstream

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

gpu?

optional gpu?: "any" | "list"

Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on.

highbitdepth?

optional highbitdepth?: boolean

Enable 10 bit encode for 8 bit input

init_qpB?

optional init_qpB?: number

Initial QP value for B frame

init_qpI?

optional init_qpI?: number

Initial QP value for I frame

init_qpP?

optional init_qpP?: number

Initial QP value for P frame

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames

ldkfs?

optional ldkfs?: number

Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR

level?

optional level?: "auto" | "2.0" | "2.1" | "2.2" | "2.3" | "3.0" | "3.1" | "3.2" | "3.3" | "4.0" | "4.1" | "4.2" | "4.3" | "5.0" | "5.1" | "5.2" | "5.3" | "6.0" | "6.1" | "6.2" | "6.3" | "7.0" | "7.1" | "7.2" | "7.3" | "2" | "3" | "4" | "5" | "6" | "7"

Set the encoding level restriction

lookahead_level?

optional lookahead_level?: "1" | "0" | "auto" | "2" | "3"

Specifies the lookahead level. Higher level may improve quality at the expense of performance.

multipass?

optional multipass?: "disabled" | "qres" | "fullres"

Set the multipass encoding

no-scenecut?

optional no-scenecut?: boolean

When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts

nonref_p?

optional nonref_p?: boolean

Set this to 1 to enable automatic insertion of non-reference P-frames

preset?

optional preset?: "fast" | "default" | "medium" | "slow" | "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7"

Set the encoding preset

qmax?

optional qmax?: number

Specifies the maximum QP used for rate control

qmin?

optional qmin?: number

Specifies the minimum QP used for rate control

qp?

optional qp?: number

Constant quantization parameter rate control method

qp_cb_offset?

optional qp_cb_offset?: number

Quantization parameter offset for cb channel

qp_cr_offset?

optional qp_cr_offset?: number

Quantization parameter offset for cr channel

rc?

optional rc?: "cbr" | "constqp" | "vbr"

Override the preset rate-control

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for rate-control

rgb_mode?

optional rgb_mode?: "disabled" | "yuv420" | "yuv444"

Configure how nvenc handles packed RGB input.

s12m_tc?

optional s12m_tc?: boolean

Use timecode (if available)

spatial-aq?

optional spatial-aq?: boolean

set to 1 to enable Spatial AQ

split_encode_mode?

optional split_encode_mode?: "auto" | "2" | "3" | "4" | "disabled" | "forced"

Specifies the split encoding mode

strict_gop?

optional strict_gop?: boolean

Set 1 to minimize GOP-to-GOP rate fluctuations

surfaces?

optional surfaces?: number

Number of concurrent surfaces

temporal-aq?

optional temporal-aq?: boolean

set to 1 to enable Temporal AQ

tf_level?

optional tf_level?: "0" | "4"

Specifies the strength of the temporal filtering

tier?

optional tier?: "1" | "0"

Set the encoding tier

tile-columns?

optional tile-columns?: number

Number of tile columns to encode with

tile-rows?

optional tile-rows?: number

Number of tile rows to encode with

timing-info?

optional timing-info?: boolean

Include timing info in sequence/frame headers

tune?

optional tune?: "hq" | "uhq" | "ll" | "ull" | "lossless"

Set the encoding tuning info

weighted_pred?

optional weighted_pred?: boolean

Enable weighted prediction

zerolatency?

optional zerolatency?: boolean

Set 1 to indicate zero latency operation (no reordering delay)

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005fnvenc


av1_qsv

av1_qsv: object

Defined in: src/constants/options.ts:725

AV1 (Intel Quick Sync Video acceleration)

adaptive_b?

optional adaptive_b?: number

Adaptive B-frame placement

adaptive_i?

optional adaptive_i?: number

Adaptive I-frame placement

async_depth?

optional async_depth?: number

Maximum processing parallelism

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

extbrc?

optional extbrc?: number

Extended bitrate control

forced_idr?

optional forced_idr?: boolean

Forcing I frames as IDR frames

look_ahead_depth?

optional look_ahead_depth?: number

Depth of look ahead in number frames, available when extbrc option is enabled

low_delay_brc?

optional low_delay_brc?: boolean

Allow to strictly obey avg frame size

low_power?

optional low_power?: boolean

enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.)

max_frame_size?

optional max_frame_size?: number

Maximum encoded frame size in bytes

max_frame_size_i?

optional max_frame_size_i?: number

Maximum encoded I frame size in bytes

max_frame_size_p?

optional max_frame_size_p?: number

Maximum encoded P frame size in bytes

preset?

optional preset?: "fast" | "medium" | "slow" | "veryfast" | "faster" | "slower" | "veryslow"

profile?

optional profile?: "unknown" | "main"

qsv_params?

optional qsv_params?: string

Set QSV encoder parameters as key1=value1:key2=value2:...

tile_cols?

optional tile_cols?: number

Number of columns for tiled encoding

tile_rows?

optional tile_rows?: number

Number of rows for tiled encoding

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005fqsv


av1_vaapi

av1_vaapi: object

Defined in: src/constants/options.ts:763

AV1 (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "2.0" | "2.1" | "3.0" | "3.1" | "4.0" | "4.1" | "5.0" | "5.1" | "5.2" | "5.3" | "6.0" | "6.1" | "6.2" | "6.3"

Set level (seq_level_idx)

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

profile?

optional profile?: "main" | "high" | "professional"

Set profile (seq_profile)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

tier?

optional tier?: "main" | "high"

Set tier (seq_tier)

tile_groups?

optional tile_groups?: number

Number of tile groups for encoding

tiles?

optional tiles?: string

Tile columns x rows (Use minimal tile column/row number automatically by default)

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005fvaapi


av1_vulkan

av1_vulkan: object

Defined in: src/constants/options.ts:793

AV1 (Vulkan)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

content?

optional content?: string

Select content type

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "20" | "21" | "22" | "23" | "30" | "31" | "32" | "33" | "40" | "41" | "42" | "43" | "50" | "51" | "52" | "53" | "60" | "61" | "62" | "63" | "70" | "71" | "72" | "73"

Set level (level_idc)

profile?

optional profile?: "main" | "high" | "professional"

Set profile

qp?

optional qp?: number

Use an explicit constant quantizer for the whole stream

quality?

optional quality?: number

Set encode quality (trades off against speed, higher is slower)

rc_mode?

optional rc_mode?: number

Select rate control type

tier?

optional tier?: "main" | "high"

Set tier (seq_tier)

tune?

optional tune?: number

Select tuning type

units?

optional units?: string

Set units to include

usage?

optional usage?: string

Select usage type

See

https://ffmpeg.org/ffmpeg-codecs.html#av1_005fvulkan


cfhd

cfhd: object

Defined in: src/constants/options.ts:849

GoPro CineForm HD

quality?

optional quality?: "low" | "medium" | "high" | "film3+" | "film3" | "film2+" | "film2" | "film1.5" | "film1+" | "film1" | "high+" | "medium+" | "low+"

set quality

See

https://ffmpeg.org/ffmpeg-codecs.html#cfhd


cinepak

cinepak: object

Defined in: src/constants/options.ts:857

Cinepak

max_extra_cb_iterations?

optional max_extra_cb_iterations?: number

Max extra codebook recalculation passes, more is better and slower

max_strips?

optional max_strips?: number

Limit strips/frame, vintage compatible is 1..3, otherwise the more the better

min_strips?

optional min_strips?: number

Enforce min strips/frame, more is worse and faster, must be <= max_strips

skip_empty_cb?

optional skip_empty_cb?: boolean

Avoid wasting bytes, ignore vintage MacOS decoder

strip_number_adaptivity?

optional strip_number_adaptivity?: number

How fast the strip number adapts, more is slightly better, much slower

See

https://ffmpeg.org/ffmpeg-codecs.html#cinepak


cljr

cljr: object

Defined in: src/constants/options.ts:873

Cirrus Logic AccuPak

dither_type?

optional dither_type?: number

Dither type

See

https://ffmpeg.org/ffmpeg-codecs.html#cljr


dca

dca: object

Defined in: src/constants/options.ts:881

DCA (DTS Coherent Acoustics)

dca_adpcm?

optional dca_adpcm?: boolean

Use ADPCM encoding

See

https://ffmpeg.org/ffmpeg-codecs.html#dca


dnxhd

dnxhd: object

Defined in: src/constants/options.ts:889

VC3/DNxHD

ibias?

optional ibias?: number

intra quant bias

nitris_compat?

optional nitris_compat?: boolean

encode with Avid Nitris compatibility

profile?

optional profile?: "dnxhd" | "dnxhr_444" | "dnxhr_hqx" | "dnxhr_hq" | "dnxhr_sq" | "dnxhr_lb"

See

https://ffmpeg.org/ffmpeg-codecs.html#dnxhd


dvbsub

dvbsub: object

Defined in: src/constants/options.ts:900

DVB subtitles

min_bpp?

optional min_bpp?: number

minimum bits-per-pixel for subtitle colors (2, 4 or 8)

See

https://ffmpeg.org/ffmpeg-codecs.html#dvbsub


dvdsub

dvdsub: object

Defined in: src/constants/options.ts:908

DVD subtitles

even_rows_fix?

optional even_rows_fix?: boolean

Make number of rows even (workaround for some players)

palette?

optional palette?: string

set the global palette

See

https://ffmpeg.org/ffmpeg-codecs.html#dvdsub


dvvideo

dvvideo: object

Defined in: src/constants/options.ts:918

DV (Digital Video)

quant_deadzone?

optional quant_deadzone?: number

Quantizer dead zone

See

https://ffmpeg.org/ffmpeg-codecs.html#dvvideo


dxv

dxv: object

Defined in: src/constants/options.ts:926

Resolume DXV

format?

optional format?: "dxt1"

See

https://ffmpeg.org/ffmpeg-codecs.html#dxv


exr

exr: object

Defined in: src/constants/options.ts:933

OpenEXR image

compression?

optional compression?: "none" | "rle" | "zip1" | "zip16"

set compression type

format?

optional format?: "half" | "float"

set pixel type

gamma?

optional gamma?: number

set gamma

See

https://ffmpeg.org/ffmpeg-codecs.html#exr


ffv1

ffv1: object

Defined in: src/constants/options.ts:945

FFmpeg video codec #1

coder?

optional coder?: "rice" | "range_def" | "range_tab" | "ac"

Coder type

context?

optional context?: number

Context model

qtable?

optional qtable?: "default" | "8bit" | "greater8bit"

Quantization table

remap_mode?

optional remap_mode?: "auto" | "off" | "dualrle" | "flipdualrle"

Remap Mode

remap_optimizer?

optional remap_optimizer?: number

Remap Optimizer

slicecrc?

optional slicecrc?: number

Protect slices with CRCs

See

https://ffmpeg.org/ffmpeg-codecs.html#ffv1


ffv1_vulkan

ffv1_vulkan: object

Defined in: src/constants/options.ts:963

FFmpeg video codec #1 (Vulkan)

async_depth?

optional async_depth?: number

Internal parallelization depth

coder?

optional coder?: "rice" | "range_def" | "range_tab"

Coder type

context?

optional context?: number

Context model

force_pcm?

optional force_pcm?: boolean

Code all slices with no prediction

qtable?

optional qtable?: "default" | "8bit" | "greater8bit"

Quantization table

optional rct_search?: boolean

Run a search for RCT parameters (level 4 only)

remap_mode?

optional remap_mode?: "auto" | "off" | "dualrle" | "flipdualrle"

Remap Mode

slicecrc?

optional slicecrc?: number

Protect slices with CRCs

slices_h?

optional slices_h?: number

Number of horizontal slices

slices_v?

optional slices_v?: number

Number of vertical slices

See

https://ffmpeg.org/ffmpeg-codecs.html#ffv1_005fvulkan


ffvhuff

ffvhuff: object

Defined in: src/constants/options.ts:989

Huffyuv FFmpeg variant

context?

optional context?: number

Set per-frame huffman tables

non_deterministic?

optional non_deterministic?: boolean

Allow multithreading for e.g. context=1 at the expense of determinism

pred?

optional pred?: "left" | "plane" | "median"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#ffvhuff


flac

flac: object

Defined in: src/constants/options.ts:1001

FLAC (Free Lossless Audio Codec)

ch_mode?

optional ch_mode?: "auto" | "indep" | "left_side" | "right_side" | "mid_side"

Stereo decorrelation mode

exact_rice_parameters?

optional exact_rice_parameters?: boolean

Calculate rice parameters exactly

lpc_coeff_precision?

optional lpc_coeff_precision?: number

LPC coefficient precision

lpc_passes?

optional lpc_passes?: number

Number of passes to use for Cholesky factorization during LPC analysis

lpc_type?

optional lpc_type?: "none" | "fixed" | "levinson" | "cholesky"

LPC algorithm

max_partition_order?

optional max_partition_order?: number

max_prediction_order?

optional max_prediction_order?: number

min_partition_order?

optional min_partition_order?: number

min_prediction_order?

optional min_prediction_order?: number

multi_dim_quant?

optional multi_dim_quant?: boolean

Multi-dimensional quantization

prediction_order_method?

optional prediction_order_method?: "log" | "estimation" | "2level" | "4level" | "8level" | "search"

Search method for selecting prediction order

See

https://ffmpeg.org/ffmpeg-codecs.html#flac


g726

g726: object

Defined in: src/constants/options.ts:1025

G.726 ADPCM

code_size?

optional code_size?: number

Bits per code

See

https://ffmpeg.org/ffmpeg-codecs.html#g726


g726le

g726le: object

Defined in: src/constants/options.ts:1033

G.726 little endian ADPCM ("right-justified")

code_size?

optional code_size?: number

Bits per code

See

https://ffmpeg.org/ffmpeg-codecs.html#g726le


gif

gif: object

Defined in: src/constants/options.ts:1041

GIF (Graphics Interchange Format)

gifflags?

optional gifflags?: string & object | "offsetting" | "transdiff"

set GIF flags

gifimage?

optional gifimage?: boolean

enable encoding only images per frame

global_palette?

optional global_palette?: boolean

write a palette to the global gif header where feasible

See

https://ffmpeg.org/ffmpeg-codecs.html#gif


h263

h263: object

Defined in: src/constants/options.ts:1053

H.263 / H.263-1996

border_mask?

optional border_mask?: number

increase the quantizer for macroblocks close to borders

chroma_elim_threshold?

optional chroma_elim_threshold?: number

single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

error_rate?

optional error_rate?: number

Simulate errors in the bitstream to test error concealment.

intra_penalty?

optional intra_penalty?: number

Penalty for intra blocks in block decision

lmax?

optional lmax?: number

maximum Lagrange factor (VBR)

lmin?

optional lmin?: number

minimum Lagrange factor (VBR)

luma_elim_threshold?

optional luma_elim_threshold?: number

single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

mb_info?

optional mb_info?: number

emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size

mepc?

optional mepc?: number

Motion estimation bitrate penalty compensation (1.0 = 256)

mepre?

optional mepre?: number

pre motion estimation

motion_est?

optional motion_est?: "zero" | "epzs" | "xone"

motion estimation algorithm

mpv_flags?

optional mpv_flags?: string & object | "skip_rd" | "strict_gop" | "qp_rd" | "cbp_rd" | "naq" | "mv0"

Flags common for all mpegvideo-based encoders.

noise_reduction?

optional noise_reduction?: number

Noise reduction

obmc?

optional obmc?: boolean

use overlapped block motion compensation.

ps?

optional ps?: number

RTP payload size in bytes

qsquish?

optional qsquish?: number

how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

quantizer_noise_shaping?

optional quantizer_noise_shaping?: number

rc_buf_aggressivity?

optional rc_buf_aggressivity?: number

currently useless

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

rc_init_cplx?

optional rc_init_cplx?: number

initial complexity for 1-pass encoding

rc_qmod_amp?

optional rc_qmod_amp?: number

experimental quantizer modulation

rc_qmod_freq?

optional rc_qmod_freq?: number

experimental quantizer modulation

sc_threshold?

optional sc_threshold?: number

Scene change threshold

skip_cmp?

optional skip_cmp?: "psnr" | "rd" | "sad" | "sse" | "satd" | "dct" | "bit" | "zero" | "vsad" | "vsse" | "nsse" | "dctmax" | "chroma" | "msad" | "dct264"

Frame skip compare function

skip_exp?

optional skip_exp?: number

Frame skip exponent

skip_factor?

optional skip_factor?: number

Frame skip factor

skip_threshold?

optional skip_threshold?: number

Frame skip threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#h263


h263p

h263p: object

Defined in: src/constants/options.ts:1112

H.263+ / H.263-1998 / H.263 version 2

aiv?

optional aiv?: boolean

Use alternative inter VLC.

border_mask?

optional border_mask?: number

increase the quantizer for macroblocks close to borders

chroma_elim_threshold?

optional chroma_elim_threshold?: number

single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

error_rate?

optional error_rate?: number

Simulate errors in the bitstream to test error concealment.

intra_penalty?

optional intra_penalty?: number

Penalty for intra blocks in block decision

lmax?

optional lmax?: number

maximum Lagrange factor (VBR)

lmin?

optional lmin?: number

minimum Lagrange factor (VBR)

luma_elim_threshold?

optional luma_elim_threshold?: number

single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

mepc?

optional mepc?: number

Motion estimation bitrate penalty compensation (1.0 = 256)

mepre?

optional mepre?: number

pre motion estimation

motion_est?

optional motion_est?: "zero" | "epzs" | "xone"

motion estimation algorithm

mpv_flags?

optional mpv_flags?: string & object | "skip_rd" | "strict_gop" | "qp_rd" | "cbp_rd" | "naq" | "mv0"

Flags common for all mpegvideo-based encoders.

noise_reduction?

optional noise_reduction?: number

Noise reduction

obmc?

optional obmc?: boolean

use overlapped block motion compensation.

ps?

optional ps?: number

RTP payload size in bytes

qsquish?

optional qsquish?: number

how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

quantizer_noise_shaping?

optional quantizer_noise_shaping?: number

rc_buf_aggressivity?

optional rc_buf_aggressivity?: number

currently useless

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

rc_init_cplx?

optional rc_init_cplx?: number

initial complexity for 1-pass encoding

rc_qmod_amp?

optional rc_qmod_amp?: number

experimental quantizer modulation

rc_qmod_freq?

optional rc_qmod_freq?: number

experimental quantizer modulation

sc_threshold?

optional sc_threshold?: number

Scene change threshold

skip_cmp?

optional skip_cmp?: "psnr" | "rd" | "sad" | "sse" | "satd" | "dct" | "bit" | "zero" | "vsad" | "vsse" | "nsse" | "dctmax" | "chroma" | "msad" | "dct264"

Frame skip compare function

skip_exp?

optional skip_exp?: number

Frame skip exponent

skip_factor?

optional skip_factor?: number

Frame skip factor

skip_threshold?

optional skip_threshold?: number

Frame skip threshold

structured_slices?

optional structured_slices?: boolean

Write slice start position at every GOB header instead of just GOB number.

umv?

optional umv?: boolean

Use unlimited motion vectors.

See

https://ffmpeg.org/ffmpeg-codecs.html#h263p


h264_amf

h264_amf: object

Defined in: src/constants/options.ts:1175

AMD AMF H.264 Encoder

async_depth?

optional async_depth?: number

Set maximum encoding parallelism. Higher values increase output latency.

aud?

optional aud?: boolean

Inserts AU Delimiter NAL unit

bf?

optional bf?: number

B Picture Pattern

bf_delta_qp?

optional bf_delta_qp?: number

B-Picture Delta QP

bf_ref?

optional bf_ref?: boolean

Enable Reference to B-Frames

bf_ref_delta_qp?

optional bf_ref_delta_qp?: number

Reference B-Picture Delta QP

coder?

optional coder?: "auto" | "cavlc" | "cabac"

Coding Type

enforce_hrd?

optional enforce_hrd?: boolean

Enforce HRD

filler_data?

optional filler_data?: boolean

Filler Data Enable

forced_idr?

optional forced_idr?: boolean

Force I frames to be IDR frames

frame_skipping?

optional frame_skipping?: boolean

Rate Control Based Frame Skip

header_spacing?

optional header_spacing?: number

Header Insertion Spacing

high_motion_quality_boost_enable?

optional high_motion_quality_boost_enable?: boolean

Enable High motion quality boost mode

intra_refresh_mb?

optional intra_refresh_mb?: number

Intra Refresh MBs Number Per Slot in Macroblocks

latency?

optional latency?: boolean

enables low latency mode

level?

optional level?: "auto" | "2.0" | "2.1" | "2.2" | "3.0" | "3.1" | "3.2" | "4.0" | "4.1" | "4.2" | "5.0" | "5.1" | "5.2" | "6.0" | "6.1" | "6.2" | "1.0" | "1.1" | "1.2" | "1.3"

Profile Level

max_au_size?

optional max_au_size?: number

Maximum Access Unit Size for rate control (in bits)

max_b_frames?

optional max_b_frames?: number

Maximum number of consecutive B Pictures

me_half_pel?

optional me_half_pel?: boolean

Enable ME Half Pixel

me_quarter_pel?

optional me_quarter_pel?: boolean

Enable ME Quarter Pixel

pa_activity_type?

optional pa_activity_type?: "y" | "yuv"

Set the type of activity analysis

pa_adaptive_mini_gop?

optional pa_adaptive_mini_gop?: boolean

Enable Adaptive MiniGOP

pa_caq_strength?

optional pa_caq_strength?: "low" | "medium" | "high"

Content Adaptive Quantization strength

pa_frame_sad_enable?

optional pa_frame_sad_enable?: boolean

Enable Frame SAD algorithm

pa_high_motion_quality_boost_mode?

optional pa_high_motion_quality_boost_mode?: "none" | "auto"

Sets the PA high motion quality boost mode

pa_initial_qp_after_scene_change?

optional pa_initial_qp_after_scene_change?: number

The QP value that is used immediately after a scene change

pa_lookahead_buffer_depth?

optional pa_lookahead_buffer_depth?: number

Sets the PA lookahead buffer size

pa_ltr_enable?

optional pa_ltr_enable?: boolean

Enable long term reference frame management

pa_max_qp_before_force_skip?

optional pa_max_qp_before_force_skip?: number

The QP threshold to allow a skip frame

pa_paq_mode?

optional pa_paq_mode?: "none" | "caq"

Sets the perceptual adaptive quantization mode

pa_scene_change_detection_enable?

optional pa_scene_change_detection_enable?: boolean

Enable scene change detection

pa_scene_change_detection_sensitivity?

optional pa_scene_change_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of scene change detection

pa_static_scene_detection_enable?

optional pa_static_scene_detection_enable?: boolean

Enable static scene detection

pa_static_scene_detection_sensitivity?

optional pa_static_scene_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of static scene detection

pa_taq_mode?

optional pa_taq_mode?: "none" | "1" | "2"

Sets the temporal adaptive quantization mode

preanalysis?

optional preanalysis?: boolean

Enable preanalysis

preencode?

optional preencode?: boolean

Pre-encode assisted rate control

preset?

optional preset?: "quality" | "balanced" | "speed"

Set the encoding quality preset

profile?

optional profile?: "main" | "high" | "constrained_baseline" | "constrained_high"

Profile

qp_b?

optional qp_b?: number

Quantization Parameter for B-Frame

qp_i?

optional qp_i?: number

Quantization Parameter for I-Frame

qp_p?

optional qp_p?: number

Quantization Parameter for P-Frame

quality?

optional quality?: "quality" | "balanced" | "speed"

Set the encoding quality preset

qvbr_quality_level?

optional qvbr_quality_level?: number

Sets the QVBR quality level

rc?

optional rc?: "cqp" | "vbr_latency" | "vbr_peak" | "cbr" | "qvbr" | "hqvbr" | "hqcbr"

Rate Control Method

smart_access_video?

optional smart_access_video?: boolean

Enable Smart Access Video to enhance performance by utilizing both APU and dGPU memory access

usage?

optional usage?: "transcoding" | "ultralowlatency" | "lowlatency" | "webcam" | "high_quality" | "lowlatency_high_quality"

Encoder Usage

vbaq?

optional vbaq?: boolean

Enable VBAQ

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005famf


h264_d3d12va

h264_d3d12va: object

Defined in: src/constants/options.ts:1297

D3D12VA h264 encoder

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

coder?

optional coder?: number

Entropy coder type

deblock?

optional deblock?: boolean

Deblocking filter mode

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

intra_refresh_duration?

optional intra_refresh_duration?: number

Number of frames over which to spread intra refresh (0 = GOP size)

intra_refresh_mode?

optional intra_refresh_mode?: "none" | "row_based"

Set intra refresh mode

level?

optional level?: number

Set level (general_level_idc)

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

me_precision?

optional me_precision?: "maximum" | "full_pixel" | "half_pixel" | "quarter_pixel" | "eighth_pixel"

Motion estimation precision mode

profile?

optional profile?: number

Set profile (general_profile_idc)

qp?

optional qp?: number

Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR"

Set rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fd3d12va


h264_nvenc

h264_nvenc: object

Defined in: src/constants/options.ts:1329

NVIDIA NVENC H.264 encoder

2pass?

optional 2pass?: boolean

Use 2pass encoding mode

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-strength?

optional aq-strength?: number

When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive)

aud?

optional aud?: boolean

Use access unit delimiters

b_adapt?

optional b_adapt?: boolean

When lookahead is enabled, set this to 0 to disable adaptive B-frame decision

b_ref_mode?

optional b_ref_mode?: "disabled" | "each" | "middle"

Use B frames as references

bluray-compat?

optional bluray-compat?: boolean

Bluray compatibility workarounds

cbr?

optional cbr?: boolean

Use cbr encoding mode

cbr_padding?

optional cbr_padding?: boolean

Pad the bitstream to ensure bitrate does not drop below the target in CBR mode

coder?

optional coder?: "auto" | "default" | "ac" | "cavlc" | "cabac" | "vlc"

Coder type

constrained-encoding?

optional constrained-encoding?: boolean

Enable constrainedFrame encoding where each slice in the constrained picture is independent of other slices

cq?

optional cq?: number

Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control

delay?

optional delay?: number

Delay frame output by the given amount of frames

dpb_size?

optional dpb_size?: number

Specifies the DPB size used for encoding (0 means automatic)

extra_sei?

optional extra_sei?: boolean

Pass on extra SEI data (e.g. a53 cc) to be included in the bitstream

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

gpu?

optional gpu?: "any" | "list"

Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on.

highbitdepth?

optional highbitdepth?: boolean

Enable 10 bit encode for 8 bit input

init_qpB?

optional init_qpB?: number

Initial QP value for B frame

init_qpI?

optional init_qpI?: number

Initial QP value for I frame

init_qpP?

optional init_qpP?: number

Initial QP value for P frame

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames

ldkfs?

optional ldkfs?: number

Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR

level?

optional level?: "1" | "auto" | "2.0" | "2.1" | "2.2" | "3.0" | "3.1" | "3.2" | "4.0" | "4.1" | "4.2" | "5.0" | "5.1" | "5.2" | "6.0" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "1.0" | "1.1" | "1.2" | "1.3" | "1b" | "1.0b"

Set the encoding level restriction

lookahead_level?

optional lookahead_level?: "1" | "0" | "auto" | "2" | "3"

Specifies the lookahead level. Higher level may improve quality at the expense of performance.

max_slice_size?

optional max_slice_size?: number

Maximum encoded slice size in bytes

multipass?

optional multipass?: "disabled" | "qres" | "fullres"

Set the multipass encoding

no-scenecut?

optional no-scenecut?: boolean

When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts

nonref_p?

optional nonref_p?: boolean

Set this to 1 to enable automatic insertion of non-reference P-frames

preset?

optional preset?: "fast" | "default" | "medium" | "slow" | "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7" | "hq" | "ll" | "lossless" | "hp" | "bd" | "llhq" | "llhp" | "losslesshp"

Set the encoding preset

profile?

optional profile?: "main" | "high" | "baseline" | "high10" | "high422" | "high444p"

Set the encoding profile

qmax?

optional qmax?: number

Specifies the maximum QP used for rate control

qmin?

optional qmin?: number

Specifies the minimum QP used for rate control

qp?

optional qp?: number

Constant quantization parameter rate control method

qp_cb_offset?

optional qp_cb_offset?: number

Quantization parameter offset for cb channel

qp_cr_offset?

optional qp_cr_offset?: number

Quantization parameter offset for cr channel

rc?

optional rc?: "cbr" | "constqp" | "vbr" | "vbr_minqp" | "ll_2pass_quality" | "ll_2pass_size" | "vbr_2pass" | "cbr_ld_hq" | "cbr_hq" | "vbr_hq"

Override the preset rate-control

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for rate-control

rgb_mode?

optional rgb_mode?: "disabled" | "yuv420" | "yuv444"

Configure how nvenc handles packed RGB input.

s12m_tc?

optional s12m_tc?: boolean

Use timecode (if available)

single-slice-intra-refresh?

optional single-slice-intra-refresh?: boolean

Use single slice intra refresh

spatial_aq?

optional spatial_aq?: boolean

set to 1 to enable Spatial AQ

spatial-aq?

optional spatial-aq?: boolean

set to 1 to enable Spatial AQ

strict_gop?

optional strict_gop?: boolean

Set 1 to minimize GOP-to-GOP rate fluctuations

surfaces?

optional surfaces?: number

Number of concurrent surfaces

temporal_aq?

optional temporal_aq?: boolean

set to 1 to enable Temporal AQ

temporal-aq?

optional temporal-aq?: boolean

set to 1 to enable Temporal AQ

tf_level?

optional tf_level?: "0" | "4"

Specifies the strength of the temporal filtering

tune?

optional tune?: "hq" | "ll" | "ull" | "lossless"

Set the encoding tuning info

udu_sei?

optional udu_sei?: boolean

Pass on user data unregistered SEI if available

weighted_pred?

optional weighted_pred?: number

Set 1 to enable weighted prediction

zerolatency?

optional zerolatency?: boolean

Set 1 to indicate zero latency operation (no reordering delay)

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fnvenc


h264_omx

h264_omx: object

Defined in: src/constants/options.ts:1485

OpenMAX IL H.264 video encoder

omx_libname?

optional omx_libname?: string

OpenMAX library name

omx_libprefix?

optional omx_libprefix?: string

OpenMAX library prefix

profile?

optional profile?: "main" | "high" | "baseline"

Set the encoding profile

zerocopy?

optional zerocopy?: number

Try to avoid copying input frames if possible

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fomx


h264_qsv

h264_qsv: object

Defined in: src/constants/options.ts:1499

H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

adaptive_b?

optional adaptive_b?: number

Adaptive B-frame placement

adaptive_i?

optional adaptive_i?: number

Adaptive I-frame placement

async_depth?

optional async_depth?: number

Maximum processing parallelism

aud?

optional aud?: boolean

Insert the Access Unit Delimiter NAL

avbr_accuracy?

optional avbr_accuracy?: number

Accuracy of the AVBR ratecontrol (unit of tenth of percent)

avbr_convergence?

optional avbr_convergence?: number

Convergence of the AVBR ratecontrol (unit of 100 frames)

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

bitrate_limit?

optional bitrate_limit?: number

Toggle bitrate limitations

cavlc?

optional cavlc?: boolean

Enable CAVLC

dblk_idc?

optional dblk_idc?: number

This option disable deblocking. It has value in range 0~2.

dual_gfx?

optional dual_gfx?: "on" | "off" | "adaptive"

Prefer processing on both iGfx and dGfx simultaneously

extbrc?

optional extbrc?: number

Extended bitrate control

forced_idr?

optional forced_idr?: boolean

Forcing I frames as IDR frames

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between IDR frames

int_ref_cycle_dist?

optional int_ref_cycle_dist?: number

Distance between the beginnings of the intra-refresh cycles in frames

int_ref_cycle_size?

optional int_ref_cycle_size?: number

Number of frames in the intra refresh cycle

int_ref_qp_delta?

optional int_ref_qp_delta?: number

QP difference for the refresh MBs

int_ref_type?

optional int_ref_type?: "none" | "slice" | "vertical" | "horizontal"

Intra refresh type. B frames should be set to 0.

look_ahead?

optional look_ahead?: boolean

Use VBR algorithm with look ahead

look_ahead_depth?

optional look_ahead_depth?: number

Depth of look ahead in number frames

look_ahead_downsampling?

optional look_ahead_downsampling?: "unknown" | "auto" | "off" | "2x" | "4x"

Downscaling factor for the frames saved for the lookahead analysis

low_delay_brc?

optional low_delay_brc?: boolean

Allow to strictly obey avg frame size

low_power?

optional low_power?: boolean

enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.)

max_dec_frame_buffering?

optional max_dec_frame_buffering?: number

Maximum number of frames buffered in the DPB

max_frame_size?

optional max_frame_size?: number

Maximum encoded frame size in bytes

max_frame_size_i?

optional max_frame_size_i?: number

Maximum encoded I frame size in bytes

max_frame_size_p?

optional max_frame_size_p?: number

Maximum encoded P frame size in bytes

max_qp_b?

optional max_qp_b?: number

Maximum video quantizer scale for B frame

max_qp_i?

optional max_qp_i?: number

Maximum video quantizer scale for I frame

max_qp_p?

optional max_qp_p?: number

Maximum video quantizer scale for P frame

max_slice_size?

optional max_slice_size?: number

Maximum encoded slice size in bytes

mbbrc?

optional mbbrc?: number

MB level bitrate control

mfmode?

optional mfmode?: "auto" | "off"

Multi-Frame Mode

min_qp_b?

optional min_qp_b?: number

Minimum video quantizer scale for B frame

min_qp_i?

optional min_qp_i?: number

Minimum video quantizer scale for I frame

min_qp_p?

optional min_qp_p?: number

Minimum video quantizer scale for P frame

p_strategy?

optional p_strategy?: number

Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0).

pic_timing_sei?

optional pic_timing_sei?: boolean

Insert picture timing SEI with pic_struct_syntax element

preset?

optional preset?: "fast" | "medium" | "slow" | "veryfast" | "faster" | "slower" | "veryslow"

profile?

optional profile?: "unknown" | "main" | "high" | "baseline"

qsv_params?

optional qsv_params?: string

Set QSV encoder parameters as key1=value1:key2=value2:...

rdo?

optional rdo?: number

Enable rate distortion optimization

recovery_point_sei?

optional recovery_point_sei?: number

Insert recovery point SEI messages

repeat_pps?

optional repeat_pps?: boolean

repeat pps for every frame

scenario?

optional scenario?: "unknown" | "displayremoting" | "videoconference" | "archive" | "livestreaming" | "cameracapture" | "videosurveillance" | "gamestreaming" | "remotegaming"

A hint to encoder about the scenario for the encoding session

single_sei_nal_unit?

optional single_sei_nal_unit?: number

Put all the SEI messages into one NALU

skip_frame?

optional skip_frame?: "no_skip" | "insert_dummy" | "insert_nothing" | "brc_only"

Allow frame skipping

vcm?

optional vcm?: boolean

Use the video conferencing mode ratecontrol

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fqsv


h264_vaapi

h264_vaapi: object

Defined in: src/constants/options.ts:1601

H.264/AVC (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

aud?

optional aud?: boolean

Include AUD

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

coder?

optional coder?: "ac" | "cavlc" | "cabac" | "vlc"

Entropy coder type

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "1" | "2.1" | "2.2" | "3.1" | "3.2" | "4.1" | "4.2" | "5.1" | "5.2" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "6" | "1.1" | "1.2" | "1.3"

Set level (level_idc)

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

profile?

optional profile?: "main" | "high" | "constrained_baseline" | "high10"

Set profile (profile_idc and constraint_set*_flag)

qp?

optional qp?: number

Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)

quality?

optional quality?: number

Set encode quality (trades off against speed, higher is faster)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

sei?

optional sei?: string & object | "identifier" | "timing" | "recovery_point" | "a53_cc"

Set SEI to include

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fvaapi


h264_videotoolbox

h264_videotoolbox: object

Defined in: src/constants/options.ts:1635

VideoToolbox H.264 Encoder

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

allow_sw?

optional allow_sw?: boolean

Allow software encoding

coder?

optional coder?: "ac" | "cavlc" | "cabac" | "vlc"

Entropy coding

constant_bit_rate?

optional constant_bit_rate?: boolean

Require constant bit rate (macOS 13 or newer)

frames_after?

optional frames_after?: boolean

Other frames will come after the frames in this session. This helps smooth concatenation issues.

frames_before?

optional frames_before?: boolean

Other frames will come before the frames in this session. This helps smooth concatenation issues.

level?

optional level?: "3.0" | "3.1" | "3.2" | "4.0" | "4.1" | "4.2" | "5.0" | "5.1" | "5.2" | "1.3"

Level

max_ref_frames?

optional max_ref_frames?: number

Sets the maximum number of reference frames. This only has an effect when the value is less than the maximum allowed by the profile/level.

max_slice_bytes?

optional max_slice_bytes?: number

Set the maximum number of bytes in an H.264 slice.

power_efficient?

optional power_efficient?: number

Set to 1 to enable more power-efficient encoding if supported.

prio_speed?

optional prio_speed?: boolean

prioritize encoding speed

profile?

optional profile?: "main" | "high" | "constrained_baseline" | "constrained_high" | "baseline" | "extended"

Profile

realtime?

optional realtime?: boolean

Hint that encoding should happen in real-time if not faster (e.g. capturing from camera).

require_sw?

optional require_sw?: boolean

Require software encoding

spatial_aq?

optional spatial_aq?: number

Set to 1 to enable spatial AQ if supported.

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fvideotoolbox


h264_vulkan

h264_vulkan: object

Defined in: src/constants/options.ts:1671

H.264/AVC (Vulkan)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

coder?

optional coder?: number

Entropy coder type

content?

optional content?: string

Select content type

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "1" | "2.1" | "2.2" | "3.1" | "3.2" | "4.1" | "4.2" | "5.1" | "5.2" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "6" | "1.1" | "1.2" | "1.3"

Set level (level_idc)

profile?

optional profile?: "main" | "high" | "constrained_baseline" | "high444p"

Set profile (profile_idc and constraint_set*_flag)

qp?

optional qp?: number

Use an explicit constant quantizer for the whole stream

quality?

optional quality?: number

Set encode quality (trades off against speed, higher is slower)

rc_mode?

optional rc_mode?: number

Select rate control type

tune?

optional tune?: number

Select tuning type

units?

optional units?: string

Set units to include

usage?

optional usage?: string

Select usage type

See

https://ffmpeg.org/ffmpeg-codecs.html#h264_005fvulkan


hap

hap: object

Defined in: src/constants/options.ts:1703

Vidvox Hap

chunks?

optional chunks?: number

chunk count

compressor?

optional compressor?: "none" | "snappy"

second-stage compressor

format?

optional format?: "hap" | "hap_alpha" | "hap_q"

See

https://ffmpeg.org/ffmpeg-codecs.html#hap


hevc_amf

hevc_amf: object

Defined in: src/constants/options.ts:1714

AMD AMF HEVC encoder

async_depth?

optional async_depth?: number

Set maximum encoding parallelism. Higher values increase output latency.

aud?

optional aud?: boolean

Inserts AU Delimiter NAL unit

bitdepth?

optional bitdepth?: "8" | "10"

Set color bit deph

enforce_hrd?

optional enforce_hrd?: boolean

Enforce HRD

filler_data?

optional filler_data?: boolean

Filler Data Enable

forced_idr?

optional forced_idr?: boolean

Force I frames to be IDR frames

gops_per_idr?

optional gops_per_idr?: number

GOPs per IDR 0-no IDR will be inserted

header_insertion_mode?

optional header_insertion_mode?: "none" | "gop" | "idr"

Set header insertion mode

high_motion_quality_boost_enable?

optional high_motion_quality_boost_enable?: boolean

Enable High motion quality boost mode

latency?

optional latency?: boolean

enables low latency mode

level?

optional level?: "auto" | "2.0" | "2.1" | "3.0" | "3.1" | "4.0" | "4.1" | "5.0" | "5.1" | "5.2" | "6.0" | "6.1" | "6.2" | "1.0"

Set the encoding level (default auto)

max_au_size?

optional max_au_size?: number

Maximum Access Unit Size for rate control (in bits)

max_qp_i?

optional max_qp_i?: number

max quantization parameter for I-frame

max_qp_p?

optional max_qp_p?: number

max quantization parameter for P-frame

me_half_pel?

optional me_half_pel?: boolean

Enable ME Half Pixel

me_quarter_pel?

optional me_quarter_pel?: boolean

Enable ME Quarter Pixel

min_qp_i?

optional min_qp_i?: number

min quantization parameter for I-frame

min_qp_p?

optional min_qp_p?: number

min quantization parameter for P-frame

pa_activity_type?

optional pa_activity_type?: "y" | "yuv"

Set the type of activity analysis

pa_caq_strength?

optional pa_caq_strength?: "low" | "medium" | "high"

Content Adaptive Quantization strength

pa_frame_sad_enable?

optional pa_frame_sad_enable?: boolean

Enable Frame SAD algorithm

pa_high_motion_quality_boost_mode?

optional pa_high_motion_quality_boost_mode?: "none" | "auto"

Sets the PA high motion quality boost mode

pa_initial_qp_after_scene_change?

optional pa_initial_qp_after_scene_change?: number

The QP value that is used immediately after a scene change

pa_lookahead_buffer_depth?

optional pa_lookahead_buffer_depth?: number

Sets the PA lookahead buffer size

pa_ltr_enable?

optional pa_ltr_enable?: boolean

Enable long term reference frame management

pa_max_qp_before_force_skip?

optional pa_max_qp_before_force_skip?: number

The QP threshold to allow a skip frame

pa_paq_mode?

optional pa_paq_mode?: "none" | "caq"

Sets the perceptual adaptive quantization mode

pa_scene_change_detection_enable?

optional pa_scene_change_detection_enable?: boolean

Enable scene change detection

pa_scene_change_detection_sensitivity?

optional pa_scene_change_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of scene change detection

pa_static_scene_detection_enable?

optional pa_static_scene_detection_enable?: boolean

Enable static scene detection

pa_static_scene_detection_sensitivity?

optional pa_static_scene_detection_sensitivity?: "low" | "medium" | "high"

Set the sensitivity of static scene detection

pa_taq_mode?

optional pa_taq_mode?: "none" | "1" | "2"

Sets the temporal adaptive quantization mode

preanalysis?

optional preanalysis?: boolean

Enable preanalysis

preencode?

optional preencode?: boolean

Enable preencode

preset?

optional preset?: "quality" | "balanced" | "speed"

Set the encoding quality preset

profile?

optional profile?: "main10" | "main"

Set the profile

profile_tier?

optional profile_tier?: "main" | "high"

Set the profile tier (default main)

qp_i?

optional qp_i?: number

quantization parameter for I-frame

qp_p?

optional qp_p?: number

quantization parameter for P-frame

quality?

optional quality?: "quality" | "balanced" | "speed"

Set the encoding quality preset

qvbr_quality_level?

optional qvbr_quality_level?: number

Sets the QVBR quality level

rc?

optional rc?: "cqp" | "vbr_latency" | "vbr_peak" | "cbr" | "qvbr" | "hqvbr" | "hqcbr"

Set the rate control mode

skip_frame?

optional skip_frame?: boolean

Rate Control Based Frame Skip

smart_access_video?

optional smart_access_video?: boolean

Enable Smart Access Video to enhance performance by utilizing both APU and dGPU memory access

usage?

optional usage?: "transcoding" | "ultralowlatency" | "lowlatency" | "webcam" | "high_quality" | "lowlatency_high_quality"

Set the encoding usage

vbaq?

optional vbaq?: boolean

Enable VBAQ

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005famf


hevc_d3d12va

hevc_d3d12va: object

Defined in: src/constants/options.ts:1812

D3D12VA hevc encoder

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

intra_refresh_duration?

optional intra_refresh_duration?: number

Number of frames over which to spread intra refresh (0 = GOP size)

intra_refresh_mode?

optional intra_refresh_mode?: "none" | "row_based"

Set intra refresh mode

level?

optional level?: number

Set level (general_level_idc)

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

me_precision?

optional me_precision?: "maximum" | "full_pixel" | "half_pixel" | "quarter_pixel" | "eighth_pixel"

Motion estimation precision mode

profile?

optional profile?: number

Set profile (general_profile_idc)

qp?

optional qp?: number

Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR"

Set rate control mode

tier?

optional tier?: number

Set tier (general_tier_flag)

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fd3d12va


hevc_nvenc

hevc_nvenc: object

Defined in: src/constants/options.ts:1842

NVIDIA NVENC hevc encoder

2pass?

optional 2pass?: boolean

Use 2pass encoding mode

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-strength?

optional aq-strength?: number

When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive)

aud?

optional aud?: boolean

Use access unit delimiters

b_adapt?

optional b_adapt?: boolean

When lookahead is enabled, set this to 0 to disable adaptive B-frame decision

b_ref_mode?

optional b_ref_mode?: "disabled" | "each" | "middle"

Use B frames as references

bluray-compat?

optional bluray-compat?: boolean

Bluray compatibility workarounds

cbr?

optional cbr?: boolean

Use cbr encoding mode

cbr_padding?

optional cbr_padding?: boolean

Pad the bitstream to ensure bitrate does not drop below the target in CBR mode

constrained-encoding?

optional constrained-encoding?: boolean

Enable constrainedFrame encoding where each slice in the constrained picture is independent of other slices

cq?

optional cq?: number

Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control

delay?

optional delay?: number

Delay frame output by the given amount of frames

dpb_size?

optional dpb_size?: number

Specifies the DPB size used for encoding (0 means automatic)

extra_sei?

optional extra_sei?: boolean

Pass on extra SEI data (e.g. a53 cc) to be included in the bitstream

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

gpu?

optional gpu?: "any" | "list"

Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on.

highbitdepth?

optional highbitdepth?: boolean

Enable 10 bit encode for 8 bit input

init_qpB?

optional init_qpB?: number

Initial QP value for B frame

init_qpI?

optional init_qpI?: number

Initial QP value for I frame

init_qpP?

optional init_qpP?: number

Initial QP value for P frame

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames

ldkfs?

optional ldkfs?: number

Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR

level?

optional level?: "1" | "auto" | "2.0" | "2.1" | "3.0" | "3.1" | "4.0" | "4.1" | "5.0" | "5.1" | "5.2" | "6.0" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "6" | "1.0"

Set the encoding level restriction

lookahead_level?

optional lookahead_level?: "1" | "0" | "auto" | "2" | "3"

Specifies the lookahead level. Higher level may improve quality at the expense of performance.

max_slice_size?

optional max_slice_size?: number

Maximum encoded slice size in bytes

multipass?

optional multipass?: "disabled" | "qres" | "fullres"

Set the multipass encoding

no-scenecut?

optional no-scenecut?: boolean

When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts

nonref_p?

optional nonref_p?: boolean

Set this to 1 to enable automatic insertion of non-reference P-frames

preset?

optional preset?: "fast" | "default" | "medium" | "slow" | "p1" | "p2" | "p3" | "p4" | "p5" | "p6" | "p7" | "hq" | "ll" | "lossless" | "hp" | "bd" | "llhq" | "llhp" | "losslesshp"

Set the encoding preset

profile?

optional profile?: "main10" | "main" | "rext" | "mv"

Set the encoding profile

qmax?

optional qmax?: number

Specifies the maximum QP used for rate control

qmin?

optional qmin?: number

Specifies the minimum QP used for rate control

qp?

optional qp?: number

Constant quantization parameter rate control method

qp_cb_offset?

optional qp_cb_offset?: number

Quantization parameter offset for cb channel

qp_cr_offset?

optional qp_cr_offset?: number

Quantization parameter offset for cr channel

rc?

optional rc?: "cbr" | "constqp" | "vbr" | "vbr_minqp" | "ll_2pass_quality" | "ll_2pass_size" | "vbr_2pass" | "cbr_ld_hq" | "cbr_hq" | "vbr_hq"

Override the preset rate-control

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for rate-control

rgb_mode?

optional rgb_mode?: "disabled" | "yuv420" | "yuv444"

Configure how nvenc handles packed RGB input.

s12m_tc?

optional s12m_tc?: boolean

Use timecode (if available)

single-slice-intra-refresh?

optional single-slice-intra-refresh?: boolean

Use single slice intra refresh

spatial_aq?

optional spatial_aq?: boolean

set to 1 to enable Spatial AQ

spatial-aq?

optional spatial-aq?: boolean

set to 1 to enable Spatial AQ

split_encode_mode?

optional split_encode_mode?: "auto" | "2" | "3" | "4" | "disabled" | "forced"

Specifies the split encoding mode

strict_gop?

optional strict_gop?: boolean

Set 1 to minimize GOP-to-GOP rate fluctuations

surfaces?

optional surfaces?: number

Number of concurrent surfaces

temporal_aq?

optional temporal_aq?: boolean

set to 1 to enable Temporal AQ

temporal-aq?

optional temporal-aq?: boolean

set to 1 to enable Temporal AQ

tf_level?

optional tf_level?: "0" | "4"

Specifies the strength of the temporal filtering

tier?

optional tier?: "main" | "high"

Set the encoding tier

tune?

optional tune?: "hq" | "uhq" | "ll" | "ull" | "lossless"

Set the encoding tuning info

udu_sei?

optional udu_sei?: boolean

Pass on user data unregistered SEI if available

unidir_b?

optional unidir_b?: boolean

Enable use of unidirectional B-Frames.

weighted_pred?

optional weighted_pred?: number

Set 1 to enable weighted prediction

zerolatency?

optional zerolatency?: boolean

Set 1 to indicate zero latency operation (no reordering delay)

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fnvenc


hevc_qsv

hevc_qsv: object

Defined in: src/constants/options.ts:1975

HEVC (Intel Quick Sync Video acceleration)

adaptive_b?

optional adaptive_b?: number

Adaptive B-frame placement

adaptive_i?

optional adaptive_i?: number

Adaptive I-frame placement

async_depth?

optional async_depth?: number

Maximum processing parallelism

aud?

optional aud?: boolean

Insert the Access Unit Delimiter NAL

avbr_accuracy?

optional avbr_accuracy?: number

Accuracy of the AVBR ratecontrol (unit of tenth of percent)

avbr_convergence?

optional avbr_convergence?: number

Convergence of the AVBR ratecontrol (unit of 100 frames)

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

dblk_idc?

optional dblk_idc?: number

This option disable deblocking. It has value in range 0~2.

dual_gfx?

optional dual_gfx?: "on" | "off" | "adaptive"

Prefer processing on both iGfx and dGfx simultaneously

extbrc?

optional extbrc?: number

Extended bitrate control

forced_idr?

optional forced_idr?: boolean

Forcing I frames as IDR frames

gpb?

optional gpb?: boolean

1: GPB (generalized P/B frame); 0: regular P frame

idr_interval?

optional idr_interval?: "begin_only"

Distance (in I-frames) between IDR frames

int_ref_cycle_dist?

optional int_ref_cycle_dist?: number

Distance between the beginnings of the intra-refresh cycles in frames

int_ref_cycle_size?

optional int_ref_cycle_size?: number

Number of frames in the intra refresh cycle

int_ref_qp_delta?

optional int_ref_qp_delta?: number

QP difference for the refresh MBs

int_ref_type?

optional int_ref_type?: "none" | "slice" | "vertical" | "horizontal"

Intra refresh type. B frames should be set to 0

load_plugin?

optional load_plugin?: "none" | "hevc_sw" | "hevc_hw"

A user plugin to load in an internal session

load_plugins?

optional load_plugins?: string

A :-separate list of hexadecimal plugin UIDs to load in an internal session

look_ahead_depth?

optional look_ahead_depth?: number

Depth of look ahead in number frames, available when extbrc option is enabled

low_delay_brc?

optional low_delay_brc?: boolean

Allow to strictly obey avg frame size

low_power?

optional low_power?: boolean

enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.)

main10sp?

optional main10sp?: boolean

This profile allow to encode 10 bit single still picture

max_frame_size?

optional max_frame_size?: number

Maximum encoded frame size in bytes

max_frame_size_i?

optional max_frame_size_i?: number

Maximum encoded I frame size in bytes

max_frame_size_p?

optional max_frame_size_p?: number

Maximum encoded P frame size in bytes

max_qp_b?

optional max_qp_b?: number

Maximum video quantizer scale for B frame

max_qp_i?

optional max_qp_i?: number

Maximum video quantizer scale for I frame

max_qp_p?

optional max_qp_p?: number

Maximum video quantizer scale for P frame

max_slice_size?

optional max_slice_size?: number

Maximum encoded slice size in bytes

mbbrc?

optional mbbrc?: number

MB level bitrate control

min_qp_b?

optional min_qp_b?: number

Minimum video quantizer scale for B frame

min_qp_i?

optional min_qp_i?: number

Minimum video quantizer scale for I frame

min_qp_p?

optional min_qp_p?: number

Minimum video quantizer scale for P frame

p_strategy?

optional p_strategy?: number

Enable P-pyramid: 0-default 1-simple 2-pyramid(bf need to be set to 0).

pic_timing_sei?

optional pic_timing_sei?: boolean

Insert picture timing SEI with pic_struct_syntax element

preset?

optional preset?: "fast" | "medium" | "slow" | "veryfast" | "faster" | "slower" | "veryslow"

profile?

optional profile?: "unknown" | "main10" | "main" | "rext" | "mainsp" | "scc"

qsv_params?

optional qsv_params?: string

Set QSV encoder parameters as key1=value1:key2=value2:...

rdo?

optional rdo?: number

Enable rate distortion optimization

recovery_point_sei?

optional recovery_point_sei?: number

Insert recovery point SEI messages

scenario?

optional scenario?: "unknown" | "displayremoting" | "videoconference" | "archive" | "livestreaming" | "cameracapture" | "videosurveillance" | "gamestreaming" | "remotegaming"

A hint to encoder about the scenario for the encoding session

skip_frame?

optional skip_frame?: "no_skip" | "insert_dummy" | "insert_nothing" | "brc_only"

Allow frame skipping

tier?

optional tier?: "main" | "high"

Set the encoding tier (only level >= 4 can support high tier)

tile_cols?

optional tile_cols?: number

Number of columns for tiled encoding

tile_rows?

optional tile_rows?: number

Number of rows for tiled encoding

transform_skip?

optional transform_skip?: number

Turn this option ON to enable transformskip

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fqsv


hevc_vaapi

hevc_vaapi: object

Defined in: src/constants/options.ts:2073

H.265/HEVC (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

aud?

optional aud?: boolean

Include AUD

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "1" | "2.1" | "3.1" | "4.1" | "5.1" | "5.2" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "6"

Set level (general_level_idc)

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

profile?

optional profile?: "main10" | "main" | "rext"

Set profile (general_profile_idc)

qp?

optional qp?: number

Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

sei?

optional sei?: string & object | "a53_cc" | "hdr"

Set SEI to include

tier?

optional tier?: "main" | "high"

Set tier (general_tier_flag)

tiles?

optional tiles?: string

Tile columns x rows

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fvaapi


hevc_videotoolbox

hevc_videotoolbox: object

Defined in: src/constants/options.ts:2107

VideoToolbox H.265 Encoder

allow_sw?

optional allow_sw?: boolean

Allow software encoding

alpha_quality?

optional alpha_quality?: number

Compression quality for the alpha channel

constant_bit_rate?

optional constant_bit_rate?: boolean

Require constant bit rate (macOS 13 or newer)

frames_after?

optional frames_after?: boolean

Other frames will come after the frames in this session. This helps smooth concatenation issues.

frames_before?

optional frames_before?: boolean

Other frames will come before the frames in this session. This helps smooth concatenation issues.

max_ref_frames?

optional max_ref_frames?: number

Sets the maximum number of reference frames. This only has an effect when the value is less than the maximum allowed by the profile/level.

power_efficient?

optional power_efficient?: number

Set to 1 to enable more power-efficient encoding if supported.

prio_speed?

optional prio_speed?: boolean

prioritize encoding speed

profile?

optional profile?: "main10" | "main" | "rext" | "main42210"

Profile

realtime?

optional realtime?: boolean

Hint that encoding should happen in real-time if not faster (e.g. capturing from camera).

require_sw?

optional require_sw?: boolean

Require software encoding

spatial_aq?

optional spatial_aq?: number

Set to 1 to enable spatial AQ if supported.

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fvideotoolbox


hevc_vulkan

hevc_vulkan: object

Defined in: src/constants/options.ts:2137

H.265/HEVC (Vulkan)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

content?

optional content?: string

Select content type

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "1" | "2.1" | "3.1" | "4.1" | "5.1" | "5.2" | "6.1" | "6.2" | "2" | "3" | "4" | "5" | "6"

Set level (general_level_idc)

profile?

optional profile?: "main10" | "main" | "rext"

Set profile (profile_idc and constraint_set*_flag)

qp?

optional qp?: number

Use an explicit constant quantizer for the whole stream

quality?

optional quality?: number

Set encode quality (trades off against speed, higher is slower)

rc_mode?

optional rc_mode?: number

Select rate control type

tier?

optional tier?: "main" | "high"

Set tier (general_tier_flag)

tune?

optional tune?: number

Select tuning type

units?

optional units?: string

Set units to include

usage?

optional usage?: string

Select usage type

See

https://ffmpeg.org/ffmpeg-codecs.html#hevc_005fvulkan


huffyuv

huffyuv: object

Defined in: src/constants/options.ts:2169

Huffyuv / HuffYUV

non_deterministic?

optional non_deterministic?: boolean

Allow multithreading for e.g. context=1 at the expense of determinism

pred?

optional pred?: "left" | "plane" | "median"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#huffyuv


jpeg2000

jpeg2000: object

Defined in: src/constants/options.ts:2179

JPEG 2000

eph?

optional eph?: number

EPH marker

format?

optional format?: "j2k" | "jp2"

Codec Format

layer_rates?

optional layer_rates?: string

Layer Rates

pred?

optional pred?: "dwt97int" | "dwt53"

DWT Type

prog?

optional prog?: "lrcp" | "rlcp" | "rpcl" | "pcrl" | "cprl"

Progression Order

sop?

optional sop?: number

SOP marker

tile_height?

optional tile_height?: number

Tile Height

tile_width?

optional tile_width?: number

Tile Width

See

https://ffmpeg.org/ffmpeg-codecs.html#jpeg2000


jpegls

jpegls: object

Defined in: src/constants/options.ts:2201

JPEG-LS

pred?

optional pred?: "left" | "plane" | "median"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#jpegls


libaom-av1

libaom-av1: object

Defined in: src/constants/options.ts:2209

libaom AV1

aom-params?

optional aom-params?: string

Set libaom options using a :-separated list of key=value pairs

aq-mode?

optional aq-mode?: "none" | "variance" | "complexity" | "cyclic"

adaptive quantization mode

arnr-max-frames?

optional arnr-max-frames?: number

altref noise reduction max frame count

arnr-strength?

optional arnr-strength?: number

altref noise reduction filter strength

auto-alt-ref?

optional auto-alt-ref?: number

Enable use of alternate reference

cpu-used?

optional cpu-used?: number

Quality/Speed ratio modifier

crf?

optional crf?: number

Select the quality for constant quality mode

denoise-block-size?

optional denoise-block-size?: number

Denoise block size

denoise-noise-level?

optional denoise-noise-level?: number

Amount of noise to be removed

dolbyvision?

optional dolbyvision?: "auto"

Enable Dolby Vision RPU coding

drop-threshold?

optional drop-threshold?: number

Frame drop threshold

enable-1to4-partitions?

optional enable-1to4-partitions?: boolean

Enable 1:4/4:1 partitions

enable-ab-partitions?

optional enable-ab-partitions?: boolean

Enable ab shape partitions

enable-angle-delta?

optional enable-angle-delta?: boolean

Enable angle delta intra prediction

enable-cdef?

optional enable-cdef?: boolean

Enable CDEF filtering

enable-cfl-intra?

optional enable-cfl-intra?: boolean

Enable chroma predicted from luma intra prediction

enable-diff-wtd-comp?

optional enable-diff-wtd-comp?: boolean

Enable difference-weighted compound

enable-dist-wtd-comp?

optional enable-dist-wtd-comp?: boolean

Enable distance-weighted compound

enable-dual-filter?

optional enable-dual-filter?: boolean

Enable dual filter

enable-filter-intra?

optional enable-filter-intra?: boolean

Enable filter intra predictor

enable-flip-idtx?

optional enable-flip-idtx?: boolean

Enable extended transform type

enable-global-motion?

optional enable-global-motion?: boolean

Enable global motion

enable-interinter-wedge?

optional enable-interinter-wedge?: boolean

Enable interinter wedge compound

enable-interintra-comp?

optional enable-interintra-comp?: boolean

Enable interintra compound

enable-interintra-wedge?

optional enable-interintra-wedge?: boolean

Enable interintra wedge compound

enable-intra-edge-filter?

optional enable-intra-edge-filter?: boolean

Enable intra edge filter

enable-intrabc?

optional enable-intrabc?: boolean

Enable intra block copy prediction mode

enable-masked-comp?

optional enable-masked-comp?: boolean

Enable masked compound

enable-obmc?

optional enable-obmc?: boolean

Enable obmc

enable-onesided-comp?

optional enable-onesided-comp?: boolean

Enable one sided compound

enable-paeth-intra?

optional enable-paeth-intra?: boolean

Enable paeth predictor in intra prediction

enable-palette?

optional enable-palette?: boolean

Enable palette prediction mode

enable-rect-partitions?

optional enable-rect-partitions?: boolean

Enable rectangular partitions

enable-reduced-reference-set?

optional enable-reduced-reference-set?: boolean

Use reduced set of single and compound references

enable-ref-frame-mvs?

optional enable-ref-frame-mvs?: boolean

Enable temporal mv prediction

enable-restoration?

optional enable-restoration?: boolean

Enable Loop Restoration filtering

enable-smooth-interintra?

optional enable-smooth-interintra?: boolean

Enable smooth interintra mode

enable-smooth-intra?

optional enable-smooth-intra?: boolean

Enable smooth intra prediction mode

enable-tx64?

optional enable-tx64?: boolean

Enable 64-pt transform

error-resilience?

optional error-resilience?: string & object | "default"

Error resilience configuration

frame-parallel?

optional frame-parallel?: boolean

Enable frame parallel decodability features

lag-in-frames?

optional lag-in-frames?: number

Number of frames to look ahead at for

maxsection-pct?

optional maxsection-pct?: number

GOP max bitrate (% of target)

minsection-pct?

optional minsection-pct?: number

GOP min bitrate (% of target)

overshoot-pct?

optional overshoot-pct?: number

Datarate overshoot (max) target (%)

reduced-tx-type-set?

optional reduced-tx-type-set?: boolean

Use reduced set of transform types

row-mt?

optional row-mt?: boolean

Enable row based multi-threading

static-thresh?

optional static-thresh?: number

A change threshold on blocks below which they will be skipped by the encoder

still-picture?

optional still-picture?: boolean

Encode in single frame mode (typically used for still AVIF images).

tile-columns?

optional tile-columns?: number

Log2 of number of tile columns to use

tile-rows?

optional tile-rows?: number

Log2 of number of tile rows to use

tiles?

optional tiles?: string

Tile columns x rows

tune?

optional tune?: "psnr" | "ssim"

The metric that the encoder tunes for. Automatically chosen by the encoder by default

undershoot-pct?

optional undershoot-pct?: number

Datarate undershoot (min) target (%)

usage?

optional usage?: "good" | "realtime" | "allintra"

Quality and compression efficiency vs speed trade-off

use-inter-dct-only?

optional use-inter-dct-only?: boolean

Use DCT only for INTER modes

use-intra-dct-only?

optional use-intra-dct-only?: boolean

Use DCT only for INTRA modes

use-intra-default-tx-only?

optional use-intra-default-tx-only?: boolean

Use default-transform only for INTRA modes

See

https://ffmpeg.org/ffmpeg-codecs.html#libaom_002dav1


libcodec2

libcodec2: object

Defined in: src/constants/options.ts:2331

codec2 encoder using libcodec2

mode?

optional mode?: "3200" | "2400" | "1600" | "1400" | "1300" | "1200" | "700" | "700B" | "700C"

codec2 mode

See

https://ffmpeg.org/ffmpeg-codecs.html#libcodec2


libfdk_aac

libfdk_aac: object

Defined in: src/constants/options.ts:2339

Fraunhofer FDK AAC

afterburner?

optional afterburner?: number

Afterburner (improved quality)

comp_profile?

optional comp_profile?: number

The desired compression profile for AAC DRC

comp_target_ref?

optional comp_target_ref?: number

Expected target reference level at decoder side in dB (for clipping prevention/limiter)

drc_profile?

optional drc_profile?: number

The desired compression profile for AAC DRC

drc_target_ref?

optional drc_target_ref?: number

Expected target reference level at decoder side in dB (for clipping prevention/limiter)

eld_sbr?

optional eld_sbr?: number

Enable SBR for ELD (for SBR in other configurations, use the -profile parameter)

eld_v2?

optional eld_v2?: number

Enable ELDv2 (LD-MPS extension for ELD stereo signals)

frame_length?

optional frame_length?: number

The desired frame length

header_period?

optional header_period?: number

StreamMuxConfig and PCE repetition period (in frames)

latm?

optional latm?: number

Output LATM/LOAS encapsulated data

prog_ref?

optional prog_ref?: number

The program reference level or dialog level in dB

signaling?

optional signaling?: "default" | "implicit" | "explicit_sbr" | "explicit_hierarchical"

SBR/PS signaling style

vbr?

optional vbr?: number

VBR mode (1-5)

See

https://ffmpeg.org/ffmpeg-codecs.html#libfdk_005faac


libilbc

libilbc: object

Defined in: src/constants/options.ts:2371

iLBC (Internet Low Bitrate Codec)

mode?

optional mode?: number

iLBC mode (20 or 30 ms frames)

See

https://ffmpeg.org/ffmpeg-codecs.html#libilbc


libjxl

libjxl: object

Defined in: src/constants/options.ts:2379

libjxl JPEG XL

distance?

optional distance?: number

Maximum Butteraugli distance (quality setting,

effort?

optional effort?: number

Encoding effort

modular?

optional modular?: number

Force modular mode

xyb?

optional xyb?: number

Use XYB-encoding for lossy images

See

https://ffmpeg.org/ffmpeg-codecs.html#libjxl


libjxl_anim

libjxl_anim: object

Defined in: src/constants/options.ts:2393

libjxl JPEG XL animated

distance?

optional distance?: number

Maximum Butteraugli distance (quality setting,

effort?

optional effort?: number

Encoding effort

modular?

optional modular?: number

Force modular mode

xyb?

optional xyb?: number

Use XYB-encoding for lossy images

See

https://ffmpeg.org/ffmpeg-codecs.html#libjxl_005fanim


libkvazaar

libkvazaar: object

Defined in: src/constants/options.ts:2407

libkvazaar H.265 / HEVC

kvazaar-params?

optional kvazaar-params?: string

Set kvazaar parameters as a comma-separated list of key=value pairs.

See

https://ffmpeg.org/ffmpeg-codecs.html#libkvazaar


liblc3

liblc3: object

Defined in: src/constants/options.ts:2415

LC3 (Low Complexity Communication Codec)

frame_duration?

optional frame_duration?: number

Duration of a frame in milliseconds

high_resolution?

optional high_resolution?: boolean

Enable High-Resolution mode (48 KHz or 96 KHz)

See

https://ffmpeg.org/ffmpeg-codecs.html#liblc3


libmp3lame

libmp3lame: object

Defined in: src/constants/options.ts:2425

libmp3lame MP3 (MPEG audio layer 3)

abr?

optional abr?: boolean

use ABR

optional copyright?: boolean

set copyright flag

joint_stereo?

optional joint_stereo?: boolean

use joint stereo

original?

optional original?: boolean

set original flag

reservoir?

optional reservoir?: boolean

use bit reservoir

See

https://ffmpeg.org/ffmpeg-codecs.html#libmp3lame


liboapv

liboapv: object

Defined in: src/constants/options.ts:2441

liboapv APV

oapv-params?

optional oapv-params?: string

Override the apv configuration using a :-separated list of key=value parameters

preset?

optional preset?: "fast" | "default" | "medium" | "slow" | "fastest" | "placebo"

Encoding preset for setting encoding speed (optimization level control)

qp?

optional qp?: number

Quantization parameter value for CQP rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#liboapv


libopencore_amrnb

libopencore_amrnb: object

Defined in: src/constants/options.ts:2453

OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)

dtx?

optional dtx?: number

Allow DTX (generate comfort noise)

See

https://ffmpeg.org/ffmpeg-codecs.html#libopencore_005famrnb


libopenh264

libopenh264: object

Defined in: src/constants/options.ts:2461

OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

allow_skip_frames?

optional allow_skip_frames?: boolean

allow skipping frames to hit the target bitrate

coder?

optional coder?: "default" | "ac" | "cavlc" | "cabac" | "vlc"

Coder type

loopfilter?

optional loopfilter?: number

enable loop filter

max_nal_size?

optional max_nal_size?: number

set maximum NAL size in bytes

profile?

optional profile?: "main" | "high" | "constrained_baseline"

set profile restrictions

rc_mode?

optional rc_mode?: "buffer" | "quality" | "off" | "bitrate" | "timestamp"

Select rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#libopenh264


libopenjpeg

libopenjpeg: object

Defined in: src/constants/options.ts:2479

OpenJPEG JPEG 2000

cinema_mode?

optional cinema_mode?: "off" | "2k_24" | "2k_48" | "4k_24"

Digital Cinema

disto_alloc?

optional disto_alloc?: number

fixed_quality?

optional fixed_quality?: number

format?

optional format?: "j2k" | "jp2"

Codec Format

irreversible?

optional irreversible?: number

numresolution?

optional numresolution?: number

profile?

optional profile?: "jpeg2000" | "cinema2k" | "cinema4k"

prog_order?

optional prog_order?: "lrcp" | "rlcp" | "rpcl" | "pcrl" | "cprl"

Progression Order

See

https://ffmpeg.org/ffmpeg-codecs.html#libopenjpeg


libopus

libopus: object

Defined in: src/constants/options.ts:2496

libopus Opus

application?

optional application?: "audio" | "voip" | "lowdelay"

Intended application type

apply_phase_inv?

optional apply_phase_inv?: boolean

Apply intensity stereo phase inversion

dtx?

optional dtx?: boolean

Enable DTX (Discontinuous transmission)

fec?

optional fec?: boolean

Enable inband FEC. Expected packet loss must be non-zero

frame_duration?

optional frame_duration?: number

Duration of a frame in milliseconds

mapping_family?

optional mapping_family?: number

Channel Mapping Family

packet_loss?

optional packet_loss?: number

Expected packet loss percentage

vbr?

optional vbr?: "on" | "off" | "constrained"

Variable bit rate mode

See

https://ffmpeg.org/ffmpeg-codecs.html#libopus


librav1e

librav1e: object

Defined in: src/constants/options.ts:2518

librav1e AV1

qp?

optional qp?: number

use constant quantizer mode

rav1e-params?

optional rav1e-params?: string

set the rav1e configuration using a :-separated list of key=value parameters

speed?

optional speed?: number

what speed preset to use

tile-columns?

optional tile-columns?: number

number of tiles columns to encode with

tile-rows?

optional tile-rows?: number

number of tiles rows to encode with

tiles?

optional tiles?: number

number of tiles encode with

See

https://ffmpeg.org/ffmpeg-codecs.html#librav1e


libspeex

libspeex: object

Defined in: src/constants/options.ts:2536

libspeex Speex

abr?

optional abr?: number

Use average bit rate

cbr_quality?

optional cbr_quality?: number

Set quality value (0 to 10) for CBR

dtx?

optional dtx?: number

Discontinuous Transmission

frames_per_packet?

optional frames_per_packet?: number

Number of frames to encode in each packet

vad?

optional vad?: number

Voice Activity Detection

See

https://ffmpeg.org/ffmpeg-codecs.html#libspeex


libsvtav1

libsvtav1: object

Defined in: src/constants/options.ts:2552

SVT-AV1(Scalable Video Technology for AV1) encoder

crf?

optional crf?: number

Constant Rate Factor value

dolbyvision?

optional dolbyvision?: "auto"

Enable Dolby Vision RPU coding

preset?

optional preset?: number

Encoding preset

qp?

optional qp?: number

Initial Quantizer level value

svtav1-params?

optional svtav1-params?: string

Set the SVT-AV1 configuration using a :-separated list of key=value parameters

See

https://ffmpeg.org/ffmpeg-codecs.html#libsvtav1


libsvtjpegxs

libsvtjpegxs: object

Defined in: src/constants/options.ts:2568

SVT JPEG XS(Scalable Video Technology for JPEG XS) encoder

coding-sigf?

optional coding-sigf?: boolean

Enable Significance coding

coding-signs?

optional coding-signs?: "fast" | "full" | "disable"

Enable Signs handling strategy

coding-vpred?

optional coding-vpred?: "disable" | "no_residuals" | "no_coeffs"

Enable Vertical Prediction coding

decomp_h?

optional decomp_h?: number

horizontal decomposition level

decomp_v?

optional decomp_v?: number

vertical decomposition level

quantization?

optional quantization?: "deadzone" | "uniform"

Quantization algorithm

See

https://ffmpeg.org/ffmpeg-codecs.html#libsvtjpegxs


libtheora

libtheora: object

Defined in: src/constants/options.ts:2586

libtheora Theora

speed_level?

optional speed_level?: number

Sets the encoding speed level

See

https://ffmpeg.org/ffmpeg-codecs.html#libtheora


libtwolame

libtwolame: object

Defined in: src/constants/options.ts:2594

libtwolame MP2 (MPEG audio layer 2)

optional copyright?: number

set MPEG Audio Copyright flag

energy_levels?

optional energy_levels?: number

enable energy levels

error_protection?

optional error_protection?: number

enable CRC error protection

mode?

optional mode?: "auto" | "stereo" | "joint_stereo" | "dual_channel" | "mono"

Mpeg Mode

original?

optional original?: number

set MPEG Audio Original flag

psymodel?

optional psymodel?: number

Psychoacoustic Model

verbosity?

optional verbosity?: number

set library optput level (0-10)

See

https://ffmpeg.org/ffmpeg-codecs.html#libtwolame


libvo_amrwbenc

libvo_amrwbenc: object

Defined in: src/constants/options.ts:2614

Android VisualOn AMR-WB (Adaptive Multi-Rate Wide-Band)

dtx?

optional dtx?: number

Allow DTX (generate comfort noise)

See

https://ffmpeg.org/ffmpeg-codecs.html#libvo_005famrwbenc


libvorbis

libvorbis: object

Defined in: src/constants/options.ts:2622

libvorbis

iblock?

optional iblock?: number

Sets the impulse block bias

See

https://ffmpeg.org/ffmpeg-codecs.html#libvorbis


libvpx

libvpx: object

Defined in: src/constants/options.ts:2630

libvpx VP8

arnr_max_frames?

optional arnr_max_frames?: number

altref noise reduction max frame count

arnr_strength?

optional arnr_strength?: number

altref noise reduction filter strength

arnr_type?

optional arnr_type?: number

altref noise reduction filter type

arnr-maxframes?

optional arnr-maxframes?: number

altref noise reduction max frame count

arnr-strength?

optional arnr-strength?: number

altref noise reduction filter strength

arnr-type?

optional arnr-type?: "backward" | "forward" | "centered"

altref noise reduction filter type

auto-alt-ref?

optional auto-alt-ref?: number

Enable use of alternate reference

cpu-used?

optional cpu-used?: number

Quality/Speed ratio modifier

crf?

optional crf?: number

Select the quality for constant quality mode

deadline?

optional deadline?: "good" | "realtime" | "best"

Time to spend encoding, in microseconds.

drop-threshold?

optional drop-threshold?: number

Frame drop threshold

error-resilient?

optional error-resilient?: string & object | "default" | "partitions"

Error resilience configuration

lag-in-frames?

optional lag-in-frames?: number

Number of frames to look ahead for

max-intra-rate?

optional max-intra-rate?: number

Maximum I-frame bitrate (pct) 0=unlimited

noise-sensitivity?

optional noise-sensitivity?: number

Noise sensitivity

overshoot-pct?

optional overshoot-pct?: number

Datarate overshoot (max) target (%)

quality?

optional quality?: "good" | "realtime" | "best"

rc_lookahead?

optional rc_lookahead?: number

Number of frames to look ahead for alternate reference frame selection

screen-content-mode?

optional screen-content-mode?: number

Encoder screen content mode

sharpness?

optional sharpness?: number

Increase sharpness at the expense of lower PSNR

speed?

optional speed?: number

static-thresh?

optional static-thresh?: number

A change threshold on blocks below which they will be skipped by the encoder

ts-parameters?

optional ts-parameters?: string

Temporal scaling configuration using a :-separated list of key=value parameters

tune?

optional tune?: "psnr" | "ssim"

Tune the encoding to a specific scenario

undershoot-pct?

optional undershoot-pct?: number

Datarate undershoot (min) target (%)

vp8flags?

optional vp8flags?: string & object | "error_resilient" | "altref"

See

https://ffmpeg.org/ffmpeg-codecs.html#libvpx


libvpx-vp9

libvpx-vp9: object

Defined in: src/constants/options.ts:2685

libvpx VP9

aq-mode?

optional aq-mode?: "none" | "variance" | "complexity" | "cyclic" | "equator360"

adaptive quantization mode

arnr_max_frames?

optional arnr_max_frames?: number

altref noise reduction max frame count

arnr_strength?

optional arnr_strength?: number

altref noise reduction filter strength

arnr_type?

optional arnr_type?: number

altref noise reduction filter type

arnr-maxframes?

optional arnr-maxframes?: number

altref noise reduction max frame count

arnr-strength?

optional arnr-strength?: number

altref noise reduction filter strength

arnr-type?

optional arnr-type?: "backward" | "forward" | "centered"

altref noise reduction filter type

auto-alt-ref?

optional auto-alt-ref?: number

Enable use of alternate reference

corpus-complexity?

optional corpus-complexity?: number

corpus vbr complexity midpoint

cpu-used?

optional cpu-used?: number

Quality/Speed ratio modifier

crf?

optional crf?: number

Select the quality for constant quality mode

deadline?

optional deadline?: "good" | "realtime" | "best"

Time to spend encoding, in microseconds.

drop-threshold?

optional drop-threshold?: number

Frame drop threshold

enable-tpl?

optional enable-tpl?: boolean

Enable temporal dependency model

error-resilient?

optional error-resilient?: string & object | "default" | "partitions"

Error resilience configuration

frame-parallel?

optional frame-parallel?: boolean

Enable frame parallel decodability features

lag-in-frames?

optional lag-in-frames?: number

Number of frames to look ahead for

level?

optional level?: number

Specify level

lossless?

optional lossless?: number

Lossless mode

max-intra-rate?

optional max-intra-rate?: number

Maximum I-frame bitrate (pct) 0=unlimited

min-gf-interval?

optional min-gf-interval?: number

Minimum golden/alternate reference frame interval

noise-sensitivity?

optional noise-sensitivity?: number

Noise sensitivity

overshoot-pct?

optional overshoot-pct?: number

Datarate overshoot (max) target (%)

quality?

optional quality?: "good" | "realtime" | "best"

rc_lookahead?

optional rc_lookahead?: number

Number of frames to look ahead for alternate reference frame selection

row-mt?

optional row-mt?: boolean

Row based multi-threading

sharpness?

optional sharpness?: number

Increase sharpness at the expense of lower PSNR

speed?

optional speed?: number

static-thresh?

optional static-thresh?: number

A change threshold on blocks below which they will be skipped by the encoder

tile-columns?

optional tile-columns?: number

Number of tile columns to use, log2

tile-rows?

optional tile-rows?: number

Number of tile rows to use, log2

ts-parameters?

optional ts-parameters?: string

Temporal scaling configuration using a :-separated list of key=value parameters

tune?

optional tune?: "psnr" | "ssim"

Tune the encoding to a specific scenario

tune-content?

optional tune-content?: "default" | "film" | "screen"

Tune content type

undershoot-pct?

optional undershoot-pct?: number

Datarate undershoot (min) target (%)

vp8flags?

optional vp8flags?: string & object | "error_resilient" | "altref"

See

https://ffmpeg.org/ffmpeg-codecs.html#libvpx_002dvp9


libvvenc

libvvenc: object

Defined in: src/constants/options.ts:2760

libvvenc H.266 / VVC

level?

optional level?: string

Specify level (as defined by Annex A)

passlogfile?

optional passlogfile?: string

Filename for 2 pass stats

period?

optional period?: number

set (intra) refresh period in seconds

preset?

optional preset?: number

set encoding preset

qp?

optional qp?: number

set quantization

qpa?

optional qpa?: boolean

set subjective (perceptually motivated) optimization

stats?

optional stats?: string

Filename for 2 pass stats

tier?

optional tier?: number

set vvc tier

vvenc-params?

optional vvenc-params?: string

set the vvenc configuration using a :-separated list of key=value parameters

See

https://ffmpeg.org/ffmpeg-codecs.html#libvvenc


libx262

libx262: object

Defined in: src/constants/options.ts:2784

libx262 MPEG2VIDEO

8x8dct?

optional 8x8dct?: boolean

High profile 8x8 transform.

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-mode?

optional aq-mode?: "none" | "variance" | "autovariance" | "autovariance-biased"

AQ method

aq-strength?

optional aq-strength?: number

AQ strength. Reduces blocking and blurring in flat and textured areas.

aud?

optional aud?: boolean

Use access unit delimiters.

avcintra-class?

optional avcintra-class?: number

AVC-Intra class 50/100/200/300/480

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

b-bias?

optional b-bias?: number

Influences how often B-frames are used

b-pyramid?

optional b-pyramid?: "none" | "strict" | "normal"

Keep some B-frames as references.

bluray-compat?

optional bluray-compat?: boolean

Bluray compatibility workarounds.

chromaoffset?

optional chromaoffset?: number

QP difference between chroma and luma

coder?

optional coder?: "default" | "ac" | "cavlc" | "cabac" | "vlc"

Coder type

cplxblur?

optional cplxblur?: number

Reduce fluctuations in QP (before curve compression)

crf?

optional crf?: number

Select the quality for constant quality mode

crf_max?

optional crf_max?: number

In CRF mode, prevents VBV from lowering quality beyond this point.

deblock?

optional deblock?: string

Loop filter parameters, in <alpha:beta> form.

direct-pred?

optional direct-pred?: "none" | "auto" | "spatial" | "temporal"

Direct MV prediction mode

fast-pskip?

optional fast-pskip?: boolean

fastfirstpass?

optional fastfirstpass?: boolean

Use fast settings when encoding first pass

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames.

level?

optional level?: string

Specify level (as defined by Annex A)

mb_info?

optional mb_info?: boolean

Set mb_info data through AVSideData, only useful when used from the API

mbtree?

optional mbtree?: boolean

Use macroblock tree ratecontrol.

me_method?

optional me_method?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

mixed-refs?

optional mixed-refs?: boolean

One reference per partition, as opposed to one reference per macroblock

motion-est?

optional motion-est?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

nal-hrd?

optional nal-hrd?: "none" | "cbr" | "vbr"

Signal HRD information (requires vbv-bufsize;

noise_reduction?

optional noise_reduction?: number

Noise reduction

partitions?

optional partitions?: string

A comma-separated list of partitions to consider.

passlogfile?

optional passlogfile?: string

Filename for 2 pass stats

preset?

optional preset?: string

Set the encoding preset (cf. x264 --fullhelp)

profile?

optional profile?: string

Set profile restrictions (cf. x264 --fullhelp)

psy?

optional psy?: boolean

Use psychovisual optimizations.

psy-rd?

optional psy-rd?: string

Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.

qp?

optional qp?: number

Constant quantization parameter rate control method

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for frametype and ratecontrol

sc_threshold?

optional sc_threshold?: number

Scene change threshold

slice-max-size?

optional slice-max-size?: number

Limit the size of each slice in bytes

ssim?

optional ssim?: boolean

Calculate and print SSIM stats.

stats?

optional stats?: string

Filename for 2 pass stats

tune?

optional tune?: string

Tune the encoding params (cf. x264 --fullhelp)

udu_sei?

optional udu_sei?: boolean

Use user data unregistered SEI if available

weightb?

optional weightb?: boolean

Weighted prediction for B-frames.

weightp?

optional weightp?: "none" | "simple" | "smart"

Weighted prediction analysis method.

wpredp?

optional wpredp?: string

Weighted prediction for P-frames

x264-params?

optional x264-params?: string

Override the x264 configuration using a :-separated list of key=value parameters

x264opts?

optional x264opts?: string

x264 options

See

https://ffmpeg.org/ffmpeg-codecs.html#libx262


libx264

libx264: object

Defined in: src/constants/options.ts:2885

libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

8x8dct?

optional 8x8dct?: boolean

High profile 8x8 transform.

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-mode?

optional aq-mode?: "none" | "variance" | "autovariance" | "autovariance-biased"

AQ method

aq-strength?

optional aq-strength?: number

AQ strength. Reduces blocking and blurring in flat and textured areas.

aud?

optional aud?: boolean

Use access unit delimiters.

avcintra-class?

optional avcintra-class?: number

AVC-Intra class 50/100/200/300/480

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

b-bias?

optional b-bias?: number

Influences how often B-frames are used

b-pyramid?

optional b-pyramid?: "none" | "strict" | "normal"

Keep some B-frames as references.

bluray-compat?

optional bluray-compat?: boolean

Bluray compatibility workarounds.

chromaoffset?

optional chromaoffset?: number

QP difference between chroma and luma

coder?

optional coder?: "default" | "ac" | "cavlc" | "cabac" | "vlc"

Coder type

cplxblur?

optional cplxblur?: number

Reduce fluctuations in QP (before curve compression)

crf?

optional crf?: number

Select the quality for constant quality mode

crf_max?

optional crf_max?: number

In CRF mode, prevents VBV from lowering quality beyond this point.

deblock?

optional deblock?: string

Loop filter parameters, in <alpha:beta> form.

direct-pred?

optional direct-pred?: "none" | "auto" | "spatial" | "temporal"

Direct MV prediction mode

fast-pskip?

optional fast-pskip?: boolean

fastfirstpass?

optional fastfirstpass?: boolean

Use fast settings when encoding first pass

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames.

level?

optional level?: string

Specify level (as defined by Annex A)

mb_info?

optional mb_info?: boolean

Set mb_info data through AVSideData, only useful when used from the API

mbtree?

optional mbtree?: boolean

Use macroblock tree ratecontrol.

me_method?

optional me_method?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

mixed-refs?

optional mixed-refs?: boolean

One reference per partition, as opposed to one reference per macroblock

motion-est?

optional motion-est?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

nal-hrd?

optional nal-hrd?: "none" | "cbr" | "vbr"

Signal HRD information (requires vbv-bufsize;

noise_reduction?

optional noise_reduction?: number

Noise reduction

partitions?

optional partitions?: string

A comma-separated list of partitions to consider.

passlogfile?

optional passlogfile?: string

Filename for 2 pass stats

preset?

optional preset?: string

Set the encoding preset (cf. x264 --fullhelp)

profile?

optional profile?: string

Set profile restrictions (cf. x264 --fullhelp)

psy?

optional psy?: boolean

Use psychovisual optimizations.

psy-rd?

optional psy-rd?: string

Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.

qp?

optional qp?: number

Constant quantization parameter rate control method

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for frametype and ratecontrol

sc_threshold?

optional sc_threshold?: number

Scene change threshold

slice-max-size?

optional slice-max-size?: number

Limit the size of each slice in bytes

ssim?

optional ssim?: boolean

Calculate and print SSIM stats.

stats?

optional stats?: string

Filename for 2 pass stats

tune?

optional tune?: string

Tune the encoding params (cf. x264 --fullhelp)

udu_sei?

optional udu_sei?: boolean

Use user data unregistered SEI if available

weightb?

optional weightb?: boolean

Weighted prediction for B-frames.

weightp?

optional weightp?: "none" | "simple" | "smart"

Weighted prediction analysis method.

wpredp?

optional wpredp?: string

Weighted prediction for P-frames

x264-params?

optional x264-params?: string

Override the x264 configuration using a :-separated list of key=value parameters

x264opts?

optional x264opts?: string

x264 options

See

https://ffmpeg.org/ffmpeg-codecs.html#libx264


libx264rgb

libx264rgb: object

Defined in: src/constants/options.ts:2986

libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB

8x8dct?

optional 8x8dct?: boolean

High profile 8x8 transform.

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

aq-mode?

optional aq-mode?: "none" | "variance" | "autovariance" | "autovariance-biased"

AQ method

aq-strength?

optional aq-strength?: number

AQ strength. Reduces blocking and blurring in flat and textured areas.

aud?

optional aud?: boolean

Use access unit delimiters.

avcintra-class?

optional avcintra-class?: number

AVC-Intra class 50/100/200/300/480

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

b-bias?

optional b-bias?: number

Influences how often B-frames are used

b-pyramid?

optional b-pyramid?: "none" | "strict" | "normal"

Keep some B-frames as references.

bluray-compat?

optional bluray-compat?: boolean

Bluray compatibility workarounds.

chromaoffset?

optional chromaoffset?: number

QP difference between chroma and luma

coder?

optional coder?: "default" | "ac" | "cavlc" | "cabac" | "vlc"

Coder type

cplxblur?

optional cplxblur?: number

Reduce fluctuations in QP (before curve compression)

crf?

optional crf?: number

Select the quality for constant quality mode

crf_max?

optional crf_max?: number

In CRF mode, prevents VBV from lowering quality beyond this point.

deblock?

optional deblock?: string

Loop filter parameters, in <alpha:beta> form.

direct-pred?

optional direct-pred?: "none" | "auto" | "spatial" | "temporal"

Direct MV prediction mode

fast-pskip?

optional fast-pskip?: boolean

fastfirstpass?

optional fastfirstpass?: boolean

Use fast settings when encoding first pass

forced-idr?

optional forced-idr?: boolean

If forcing keyframes, force them as IDR frames.

intra-refresh?

optional intra-refresh?: boolean

Use Periodic Intra Refresh instead of IDR frames.

level?

optional level?: string

Specify level (as defined by Annex A)

mb_info?

optional mb_info?: boolean

Set mb_info data through AVSideData, only useful when used from the API

mbtree?

optional mbtree?: boolean

Use macroblock tree ratecontrol.

me_method?

optional me_method?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

mixed-refs?

optional mixed-refs?: boolean

One reference per partition, as opposed to one reference per macroblock

motion-est?

optional motion-est?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

nal-hrd?

optional nal-hrd?: "none" | "cbr" | "vbr"

Signal HRD information (requires vbv-bufsize;

noise_reduction?

optional noise_reduction?: number

Noise reduction

partitions?

optional partitions?: string

A comma-separated list of partitions to consider.

passlogfile?

optional passlogfile?: string

Filename for 2 pass stats

preset?

optional preset?: string

Set the encoding preset (cf. x264 --fullhelp)

profile?

optional profile?: string

Set profile restrictions (cf. x264 --fullhelp)

psy?

optional psy?: boolean

Use psychovisual optimizations.

psy-rd?

optional psy-rd?: string

Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.

qp?

optional qp?: number

Constant quantization parameter rate control method

rc-lookahead?

optional rc-lookahead?: number

Number of frames to look ahead for frametype and ratecontrol

sc_threshold?

optional sc_threshold?: number

Scene change threshold

slice-max-size?

optional slice-max-size?: number

Limit the size of each slice in bytes

ssim?

optional ssim?: boolean

Calculate and print SSIM stats.

stats?

optional stats?: string

Filename for 2 pass stats

tune?

optional tune?: string

Tune the encoding params (cf. x264 --fullhelp)

udu_sei?

optional udu_sei?: boolean

Use user data unregistered SEI if available

weightb?

optional weightb?: boolean

Weighted prediction for B-frames.

weightp?

optional weightp?: "none" | "simple" | "smart"

Weighted prediction analysis method.

wpredp?

optional wpredp?: string

Weighted prediction for P-frames

x264-params?

optional x264-params?: string

Override the x264 configuration using a :-separated list of key=value parameters

x264opts?

optional x264opts?: string

x264 options

See

https://ffmpeg.org/ffmpeg-codecs.html#libx264rgb


libx265

libx265: object

Defined in: src/constants/options.ts:3087

libx265 H.265 / HEVC

a53cc?

optional a53cc?: boolean

Use A53 Closed Captions (if available)

crf?

optional crf?: number

set the x265 crf

dolbyvision?

optional dolbyvision?: "auto"

Enable Dolby Vision RPU coding

forced-idr?

optional forced-idr?: boolean

if forcing keyframes, force them as IDR frames

preset?

optional preset?: string

set the x265 preset

profile?

optional profile?: string

set the x265 profile

qp?

optional qp?: number

set the x265 qp

tune?

optional tune?: string

set the x265 tune parameter

udu_sei?

optional udu_sei?: boolean

Use user data unregistered SEI if available

x265-params?

optional x265-params?: string

set the x265 configuration using a :-separated list of key=value parameters

x265-stats?

optional x265-stats?: string

Filename for 2 pass stats

See

https://ffmpeg.org/ffmpeg-codecs.html#libx265


libxavs

libxavs: object

Defined in: src/constants/options.ts:3115

libxavs Chinese AVS (Audio Video Standard)

aud?

optional aud?: boolean

Use access unit delimiters.

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

b-bias?

optional b-bias?: number

Influences how often B-frames are used

chromaoffset?

optional chromaoffset?: number

QP difference between chroma and luma

cplxblur?

optional cplxblur?: number

Reduce fluctuations in QP (before curve compression)

crf?

optional crf?: number

Select the quality for constant quality mode

direct-pred?

optional direct-pred?: "none" | "auto" | "spatial" | "temporal"

Direct MV prediction mode

fast-pskip?

optional fast-pskip?: boolean

mbtree?

optional mbtree?: boolean

Use macroblock tree ratecontrol.

mixed-refs?

optional mixed-refs?: boolean

One reference per partition, as opposed to one reference per macroblock

motion-est?

optional motion-est?: "hex" | "dia" | "umh" | "esa" | "tesa"

Set motion estimation method

noise_reduction?

optional noise_reduction?: number

Noise reduction

qp?

optional qp?: number

Constant quantization parameter rate control method

sc_threshold?

optional sc_threshold?: number

Scene change threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#libxavs


libxavs2

libxavs2: object

Defined in: src/constants/options.ts:3148

libxavs2 AVS2-P2/IEEE1857.4

initial_qp?

optional initial_qp?: number

Quantization initial parameter

lcu_row_threads?

optional lcu_row_threads?: number

number of parallel threads for rows

log_level?

optional log_level?: number

log level: -1: none, 0: error, 1: warning, 2: info, 3: debug

max_qp?

optional max_qp?: number

max qp for rate control

min_qp?

optional min_qp?: number

min qp for rate control

qp?

optional qp?: number

Quantization parameter

speed_level?

optional speed_level?: number

Speed level, higher is better but slower

xavs2-params?

optional xavs2-params?: string

set the xavs2 configuration using a :-separated list of key=value parameters

See

https://ffmpeg.org/ffmpeg-codecs.html#libxavs2


libxeve

libxeve: object

Defined in: src/constants/options.ts:3170

libxeve MPEG-5 EVC

crf?

optional crf?: number

Constant rate factor value for CRF rate control mode

hash?

optional hash?: number

Embed picture signature (HASH) for conformance checking in decoding

preset?

optional preset?: "fast" | "default" | "medium" | "slow" | "placebo"

Encoding preset for setting encoding speed

profile?

optional profile?: "main" | "baseline"

Encoding profile

qp?

optional qp?: number

Quantization parameter value for CQP rate control mode

rc_mode?

optional rc_mode?: "CQP" | "ABR" | "CRF"

Rate control mode

sei_info?

optional sei_info?: number

Embed SEI messages identifying encoder parameters and command line arguments

tune?

optional tune?: "none" | "psnr" | "zerolatency"

Tuning parameter for special purpose operation

xeve-params?

optional xeve-params?: string

Override the xeve configuration using a :-separated list of key=value parameters

See

https://ffmpeg.org/ffmpeg-codecs.html#libxeve


libxvid

libxvid: object

Defined in: src/constants/options.ts:3194

libxvidcore MPEG-4 part 2

gmc?

optional gmc?: number

use GMC

lumi_aq?

optional lumi_aq?: number

Luminance masking AQ

me_quality?

optional me_quality?: number

Motion estimation quality

mpeg_quant?

optional mpeg_quant?: number

Use MPEG quantizers instead of H.263

ssim?

optional ssim?: "frame" | "avg" | "off"

Show SSIM information to stdout

ssim_acc?

optional ssim_acc?: number

SSIM accuracy

variance_aq?

optional variance_aq?: number

Variance AQ

See

https://ffmpeg.org/ffmpeg-codecs.html#libxvid


ljpeg

ljpeg: object

Defined in: src/constants/options.ts:3214

Lossless JPEG

pred?

optional pred?: "left" | "plane" | "median"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#ljpeg


magicyuv

magicyuv: object

Defined in: src/constants/options.ts:3222

MagicYUV video

pred?

optional pred?: "left" | "median" | "gradient"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#magicyuv


mjpeg

mjpeg: object

Defined in: src/constants/options.ts:3230

MJPEG (Motion JPEG)

border_mask?

optional border_mask?: number

increase the quantizer for macroblocks close to borders

chroma_elim_threshold?

optional chroma_elim_threshold?: number

single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

error_rate?

optional error_rate?: number

Simulate errors in the bitstream to test error concealment.

force_duplicated_matrix?

optional force_duplicated_matrix?: boolean

Always write luma and chroma matrix for mjpeg, useful for rtp streaming.

huffman?

optional huffman?: "default" | "optimal"

Huffman table strategy

lmax?

optional lmax?: number

maximum Lagrange factor (VBR)

lmin?

optional lmin?: number

minimum Lagrange factor (VBR)

luma_elim_threshold?

optional luma_elim_threshold?: number

single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

mpv_flags?

optional mpv_flags?: string & object | "skip_rd" | "strict_gop" | "qp_rd" | "cbp_rd" | "naq"

Flags common for all mpegvideo-based encoders.

noise_reduction?

optional noise_reduction?: number

Noise reduction

ps?

optional ps?: number

RTP payload size in bytes

qsquish?

optional qsquish?: number

how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

quantizer_noise_shaping?

optional quantizer_noise_shaping?: number

rc_buf_aggressivity?

optional rc_buf_aggressivity?: number

currently useless

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

rc_init_cplx?

optional rc_init_cplx?: number

initial complexity for 1-pass encoding

rc_qmod_amp?

optional rc_qmod_amp?: number

experimental quantizer modulation

rc_qmod_freq?

optional rc_qmod_freq?: number

experimental quantizer modulation

skip_cmp?

optional skip_cmp?: "psnr" | "rd" | "sad" | "sse" | "satd" | "dct" | "bit" | "zero" | "vsad" | "vsse" | "nsse" | "dctmax" | "chroma" | "msad" | "dct264"

Frame skip compare function

skip_exp?

optional skip_exp?: number

Frame skip exponent

skip_factor?

optional skip_factor?: number

Frame skip factor

skip_threshold?

optional skip_threshold?: number

Frame skip threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#mjpeg


mjpeg_qsv

mjpeg_qsv: object

Defined in: src/constants/options.ts:3279

MJPEG (Intel Quick Sync Video acceleration)

async_depth?

optional async_depth?: number

Maximum processing parallelism

See

https://ffmpeg.org/ffmpeg-codecs.html#mjpeg_005fqsv


mjpeg_vaapi

mjpeg_vaapi: object

Defined in: src/constants/options.ts:3287

MJPEG (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

huffman?

optional huffman?: boolean

Include huffman tables

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

jfif?

optional jfif?: boolean

Include JFIF header

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

See

https://ffmpeg.org/ffmpeg-codecs.html#mjpeg_005fvaapi


mjpeg_videotoolbox

mjpeg_videotoolbox: object

Defined in: src/constants/options.ts:3307

VideoToolbox MJPEG Encoder

allow_sw?

optional allow_sw?: boolean

Allow software encoding

See

https://ffmpeg.org/ffmpeg-codecs.html#mjpeg_005fvideotoolbox


mlp

mlp: object

Defined in: src/constants/options.ts:3315

MLP (Meridian Lossless Packing)

optional codebook_search?: number

Max number of codebook searches

lpc_coeff_precision?

optional lpc_coeff_precision?: number

LPC coefficient precision

lpc_passes?

optional lpc_passes?: number

Number of passes to use for Cholesky factorization during LPC analysis

lpc_type?

optional lpc_type?: "levinson" | "cholesky"

LPC algorithm

max_interval?

optional max_interval?: number

Max number of frames between each new header

prediction_order?

optional prediction_order?: "estimation" | "search"

Search method for selecting prediction order

rematrix_precision?

optional rematrix_precision?: number

Rematrix coefficient precision

See

https://ffmpeg.org/ffmpeg-codecs.html#mlp


mov_text

mov_text: object

Defined in: src/constants/options.ts:3335

3GPP Timed Text subtitle

height?

optional height?: number

Frame height, usually video height

See

https://ffmpeg.org/ffmpeg-codecs.html#mov_005ftext


mpeg2_qsv

mpeg2_qsv: object

Defined in: src/constants/options.ts:3343

MPEG-2 video (Intel Quick Sync Video acceleration)

async_depth?

optional async_depth?: number

Maximum processing parallelism

forced_idr?

optional forced_idr?: boolean

Forcing I frames as IDR frames

low_power?

optional low_power?: boolean

enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.)

preset?

optional preset?: "fast" | "medium" | "slow" | "veryfast" | "faster" | "slower" | "veryslow"

profile?

optional profile?: "unknown" | "simple" | "main" | "high"

qsv_params?

optional qsv_params?: string

Set QSV encoder parameters as key1=value1:key2=value2:...

rdo?

optional rdo?: number

Enable rate distortion optimization

See

https://ffmpeg.org/ffmpeg-codecs.html#mpeg2_005fqsv


mpeg2_vaapi

mpeg2_vaapi: object

Defined in: src/constants/options.ts:3361

MPEG-2 (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

level?

optional level?: "main" | "low" | "high" | "high_1440"

Set level (in profile_and_level_indication)

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

profile?

optional profile?: "simple" | "main"

Set profile (in profile_and_level_indication)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#mpeg2_005fvaapi


mpeg4

mpeg4: object

Defined in: src/constants/options.ts:3385

MPEG-4 part 2

alternate_scan?

optional alternate_scan?: boolean

Enable alternate scantable.

b_sensitivity?

optional b_sensitivity?: number

Adjust sensitivity of b_frame_strategy 1

b_strategy?

optional b_strategy?: number

Strategy to choose between I/P/B-frames

border_mask?

optional border_mask?: number

increase the quantizer for macroblocks close to borders

brd_scale?

optional brd_scale?: number

Downscale frames for dynamic B-frame decision

chroma_elim_threshold?

optional chroma_elim_threshold?: number

single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

data_partitioning?

optional data_partitioning?: boolean

Use data partitioning.

error_rate?

optional error_rate?: number

Simulate errors in the bitstream to test error concealment.

intra_penalty?

optional intra_penalty?: number

Penalty for intra blocks in block decision

lmax?

optional lmax?: number

maximum Lagrange factor (VBR)

lmin?

optional lmin?: number

minimum Lagrange factor (VBR)

luma_elim_threshold?

optional luma_elim_threshold?: number

single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

mepc?

optional mepc?: number

Motion estimation bitrate penalty compensation (1.0 = 256)

mepre?

optional mepre?: number

pre motion estimation

motion_est?

optional motion_est?: "zero" | "epzs" | "xone"

motion estimation algorithm

mpeg_quant?

optional mpeg_quant?: number

Use MPEG quantizers instead of H.263

mpv_flags?

optional mpv_flags?: string & object | "skip_rd" | "strict_gop" | "qp_rd" | "cbp_rd" | "naq" | "mv0"

Flags common for all mpegvideo-based encoders.

noise_reduction?

optional noise_reduction?: number

Noise reduction

ps?

optional ps?: number

RTP payload size in bytes

qsquish?

optional qsquish?: number

how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

quantizer_noise_shaping?

optional quantizer_noise_shaping?: number

rc_buf_aggressivity?

optional rc_buf_aggressivity?: number

currently useless

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

rc_init_cplx?

optional rc_init_cplx?: number

initial complexity for 1-pass encoding

rc_qmod_amp?

optional rc_qmod_amp?: number

experimental quantizer modulation

rc_qmod_freq?

optional rc_qmod_freq?: number

experimental quantizer modulation

sc_threshold?

optional sc_threshold?: number

Scene change threshold

skip_cmp?

optional skip_cmp?: "psnr" | "rd" | "sad" | "sse" | "satd" | "dct" | "bit" | "zero" | "vsad" | "vsse" | "nsse" | "dctmax" | "chroma" | "msad" | "dct264"

Frame skip compare function

skip_exp?

optional skip_exp?: number

Frame skip exponent

skip_factor?

optional skip_factor?: number

Frame skip factor

skip_threshold?

optional skip_threshold?: number

Frame skip threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#mpeg4


mpeg4_omx

mpeg4_omx: object

Defined in: src/constants/options.ts:3452

OpenMAX IL MPEG-4 video encoder

omx_libname?

optional omx_libname?: string

OpenMAX library name

omx_libprefix?

optional omx_libprefix?: string

OpenMAX library prefix

profile?

optional profile?: "main" | "high" | "baseline"

Set the encoding profile

zerocopy?

optional zerocopy?: number

Try to avoid copying input frames if possible

See

https://ffmpeg.org/ffmpeg-codecs.html#mpeg4_005fomx


opus

opus: object

Defined in: src/constants/options.ts:3466

Opus

apply_phase_inv?

optional apply_phase_inv?: boolean

Apply intensity stereo phase inversion

opus_delay?

optional opus_delay?: number

Maximum delay in milliseconds

See

https://ffmpeg.org/ffmpeg-codecs.html#opus


png

png: object

Defined in: src/constants/options.ts:3476

PNG (Portable Network Graphics) image

dpi?

optional dpi?: number

Set image resolution (in dots per inch)

dpm?

optional dpm?: number

Set image resolution (in dots per meter)

pred?

optional pred?: "none" | "sub" | "up" | "avg" | "paeth" | "mixed"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#png


prores

prores: object

Defined in: src/constants/options.ts:3488

Apple ProRes

vendor?

optional vendor?: string

vendor ID

See

https://ffmpeg.org/ffmpeg-codecs.html#prores


prores_aw

prores_aw: object

Defined in: src/constants/options.ts:3496

Apple ProRes

vendor?

optional vendor?: string

vendor ID

See

https://ffmpeg.org/ffmpeg-codecs.html#prores_005faw


prores_ks

prores_ks: object

Defined in: src/constants/options.ts:3504

Apple ProRes (iCodec Pro)

alpha_bits?

optional alpha_bits?: number

bits for alpha plane

bits_per_mb?

optional bits_per_mb?: number

desired bits per macroblock

mbs_per_slice?

optional mbs_per_slice?: number

macroblocks per slice

profile?

optional profile?: "auto" | "hq" | "proxy" | "lt" | "standard" | "4444" | "4444xq"

quant_mat?

optional quant_mat?: "auto" | "default" | "hq" | "proxy" | "lt" | "standard"

quantiser matrix

vendor?

optional vendor?: string

vendor ID

See

https://ffmpeg.org/ffmpeg-codecs.html#prores_005fks


prores_ks_vulkan

prores_ks_vulkan: object

Defined in: src/constants/options.ts:3521

Apple ProRes (iCodec Pro)

alpha_bits?

optional alpha_bits?: number

bits for alpha plane

async_depth?

optional async_depth?: number

Internal parallelization depth

bits_per_mb?

optional bits_per_mb?: number

desired bits per macroblock

mbs_per_slice?

optional mbs_per_slice?: number

macroblocks per slice

profile?

optional profile?: "auto" | "hq" | "proxy" | "lt" | "standard" | "4444" | "4444xq"

quant_mat?

optional quant_mat?: "auto" | "default" | "hq" | "proxy" | "lt" | "standard"

quantiser matrix

vendor?

optional vendor?: string

vendor ID

See

https://ffmpeg.org/ffmpeg-codecs.html#prores_005fks_005fvulkan


prores_videotoolbox

prores_videotoolbox: object

Defined in: src/constants/options.ts:3540

VideoToolbox ProRes Encoder

allow_sw?

optional allow_sw?: boolean

Allow software encoding

frames_after?

optional frames_after?: boolean

Other frames will come after the frames in this session. This helps smooth concatenation issues.

frames_before?

optional frames_before?: boolean

Other frames will come before the frames in this session. This helps smooth concatenation issues.

max_ref_frames?

optional max_ref_frames?: number

Sets the maximum number of reference frames. This only has an effect when the value is less than the maximum allowed by the profile/level.

power_efficient?

optional power_efficient?: number

Set to 1 to enable more power-efficient encoding if supported.

prio_speed?

optional prio_speed?: boolean

prioritize encoding speed

profile?

optional profile?: "auto" | "hq" | "proxy" | "lt" | "standard" | "4444" | "xq"

Profile

realtime?

optional realtime?: boolean

Hint that encoding should happen in real-time if not faster (e.g. capturing from camera).

require_sw?

optional require_sw?: boolean

Require software encoding

spatial_aq?

optional spatial_aq?: number

Set to 1 to enable spatial AQ if supported.

See

https://ffmpeg.org/ffmpeg-codecs.html#prores_005fvideotoolbox


roqvideo

roqvideo: object

Defined in: src/constants/options.ts:3566

id RoQ video

quake3_compat?

optional quake3_compat?: boolean

Whether to respect known limitations in Quake 3 decoder

See

https://ffmpeg.org/ffmpeg-codecs.html#roqvideo


rpza

rpza: object

Defined in: src/constants/options.ts:3574

QuickTime video (RPZA)

continue_one_color_thresh?

optional continue_one_color_thresh?: number

sixteen_color_thresh?

optional sixteen_color_thresh?: number

skip_frame_thresh?

optional skip_frame_thresh?: number

start_one_color_thresh?

optional start_one_color_thresh?: number

See

https://ffmpeg.org/ffmpeg-codecs.html#rpza


sbc

sbc: object

Defined in: src/constants/options.ts:3584

SBC (low-complexity subband codec)

msbc?

optional msbc?: boolean

use mSBC mode (wideband speech mono SBC)

sbc_delay?

optional sbc_delay?: string

set maximum algorithmic latency

See

https://ffmpeg.org/ffmpeg-codecs.html#sbc


sgi

sgi: object

Defined in: src/constants/options.ts:3594

SGI image

rle?

optional rle?: number

Use run-length compression

See

https://ffmpeg.org/ffmpeg-codecs.html#sgi


snow

snow: object

Defined in: src/constants/options.ts:3602

Snow

intra_penalty?

optional intra_penalty?: number

Penalty for intra blocks in block decision

iterative_dia_size?

optional iterative_dia_size?: number

Dia size for the iterative ME

memc_only?

optional memc_only?: boolean

Only do ME/MC (I frames -> ref, P frame -> ME+MC).

motion_est?

optional motion_est?: "zero" | "epzs" | "xone" | "iter"

motion estimation algorithm

no_bitstream?

optional no_bitstream?: boolean

Skip final bitstream writeout.

pred?

optional pred?: "dwt53" | "dwt97"

Spatial decomposition type

rc_eq?

optional rc_eq?: string

Set rate control equation. When computing the expression, besides the standard functions

sc_threshold?

optional sc_threshold?: number

Scene change threshold

See

https://ffmpeg.org/ffmpeg-codecs.html#snow


sunrast

sunrast: object

Defined in: src/constants/options.ts:3624

Sun Rasterfile image

rle?

optional rle?: number

Use run-length compression

See

https://ffmpeg.org/ffmpeg-codecs.html#sunrast


svq1

svq1: object

Defined in: src/constants/options.ts:3632

Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1

motion-est?

optional motion-est?: "zero" | "epzs" | "xone"

Motion estimation algorithm

See

https://ffmpeg.org/ffmpeg-codecs.html#svq1


targa

targa: object

Defined in: src/constants/options.ts:3640

Truevision Targa image

rle?

optional rle?: number

Use run-length compression

See

https://ffmpeg.org/ffmpeg-codecs.html#targa


tiff

tiff: object

Defined in: src/constants/options.ts:3648

TIFF image

compression_algo?

optional compression_algo?: "packbits" | "raw" | "lzw" | "deflate"

dpi?

optional dpi?: number

set the image resolution (in dpi)

See

https://ffmpeg.org/ffmpeg-codecs.html#tiff


truehd

truehd: object

Defined in: src/constants/options.ts:3657

TrueHD

codebook_search?

optional codebook_search?: number

Max number of codebook searches

lpc_coeff_precision?

optional lpc_coeff_precision?: number

LPC coefficient precision

lpc_passes?

optional lpc_passes?: number

Number of passes to use for Cholesky factorization during LPC analysis

lpc_type?

optional lpc_type?: "levinson" | "cholesky"

LPC algorithm

max_interval?

optional max_interval?: number

Max number of frames between each new header

prediction_order?

optional prediction_order?: "estimation" | "search"

Search method for selecting prediction order

rematrix_precision?

optional rematrix_precision?: number

Rematrix coefficient precision

See

https://ffmpeg.org/ffmpeg-codecs.html#truehd


utvideo

utvideo: object

Defined in: src/constants/options.ts:3677

Ut Video

pred?

optional pred?: "none" | "left" | "median"

Prediction method

See

https://ffmpeg.org/ffmpeg-codecs.html#utvideo


vbn

vbn: object

Defined in: src/constants/options.ts:3685

Vizrt Binary Image

format?

optional format?: "dxt1" | "raw" | "dxt5"

Texture format

See

https://ffmpeg.org/ffmpeg-codecs.html#vbn


vc2

vc2: object

Defined in: src/constants/options.ts:3693

SMPTE VC-2

qm?

optional qm?: "flat" | "default" | "color"

Custom quantization matrix

slice_height?

optional slice_height?: number

Slice height

slice_width?

optional slice_width?: number

Slice width

tolerance?

optional tolerance?: number

Max undershoot in percent

wavelet_depth?

optional wavelet_depth?: number

Transform depth

wavelet_type?

optional wavelet_type?: "9_7" | "5_3" | "haar" | "haar_noshift"

Transform type

See

https://ffmpeg.org/ffmpeg-codecs.html#vc2


vp8_vaapi

vp8_vaapi: object

Defined in: src/constants/options.ts:3711

VP8 (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

loop_filter_level?

optional loop_filter_level?: number

Loop filter level

loop_filter_sharpness?

optional loop_filter_sharpness?: number

Loop filter sharpness

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#vp8_005fvaapi


vp9_qsv

vp9_qsv: object

Defined in: src/constants/options.ts:3735

VP9 video (Intel Quick Sync Video acceleration)

async_depth?

optional async_depth?: number

Maximum processing parallelism

forced_idr?

optional forced_idr?: boolean

Forcing I frames as IDR frames

low_power?

optional low_power?: boolean

enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.)

preset?

optional preset?: "fast" | "medium" | "slow" | "veryfast" | "faster" | "slower" | "veryslow"

profile?

optional profile?: "unknown" | "profile0" | "profile1" | "profile2" | "profile3"

qsv_params?

optional qsv_params?: string

Set QSV encoder parameters as key1=value1:key2=value2:...

tile_cols?

optional tile_cols?: number

Number of columns for tiled encoding

tile_rows?

optional tile_rows?: number

Number of rows for tiled encoding

See

https://ffmpeg.org/ffmpeg-codecs.html#vp9_005fqsv


vp9_vaapi

vp9_vaapi: object

Defined in: src/constants/options.ts:3755

VP9 (VAAPI)

async_depth?

optional async_depth?: number

Maximum processing parallelism.

b_depth?

optional b_depth?: number

Maximum B-frame reference depth

blbrc?

optional blbrc?: boolean

Block level based bitrate control

idr_interval?

optional idr_interval?: number

Distance (in I-frames) between key frames

loop_filter_level?

optional loop_filter_level?: number

Loop filter level

loop_filter_sharpness?

optional loop_filter_sharpness?: number

Loop filter sharpness

low_power?

optional low_power?: boolean

Use low-power encoding mode (only available on some platforms;

max_frame_size?

optional max_frame_size?: number

Maximum frame size (in bytes)

rc_mode?

optional rc_mode?: "auto" | "CQP" | "CBR" | "VBR" | "QVBR" | "ICQ" | "AVBR"

Set rate control mode

See

https://ffmpeg.org/ffmpeg-codecs.html#vp9_005fvaapi


wavpack

wavpack: object

Defined in: src/constants/options.ts:3779

WavPack

joint_stereo?

optional joint_stereo?: boolean

optimize_mono?

optional optimize_mono?: boolean

See

https://ffmpeg.org/ffmpeg-codecs.html#wavpack