- Command line example
- Option format
- Display options
- Basic encoding options
- -d, --device <int>
- -c, --codec <string>
- -o, --output <string>
- -i, --input <string>
- --raw
- --y4m
- --avi
- --avs
- --vpy
- --vpy-mt
- --avsw [<string>]
- --avhw
- --interlace <string>
- --video-track <int>
- --crop <int>,<int>,<int>,<int>
- --frames <int>
- --fps <int>/<int> or <float>
- --input-res <int>x<int>
- --output-res <int>x<int>
- --input-csp <string>
- Encode Mode Options
- Other Options for Encoder
- -u, --preset
- --output-depth <int>
- --max-bitrate <int>
- --vbv-bufsize <int>
- --qp-min <int> or <int>:<int>:<int>
- --qp-max <int> or <int>:<int>:<int>
- --qvbr-quality <int>
- --gop-len <int>
- -b, --bframes <int>
- --b-pyramid
- --b-deltaqp <int>
- --bref-deltaqp <int>
- --adapt-minigop [H.264/AV1]
- --ref <int>
- --ltr <int> [H.264/HEVC]
- --vbaq [H.264/HEVC]
- --skip-frame [H.264/HEVC]
- --enforce-hrd
- --filler
- --no-deblock [H.264/HEVC]
- --motion-est <string> [H.264/HEVC]
- --tiles <int> [AV1]
- --cdef-mode <string> [AV1]
- --screen-content-tools [<param1>=<value1>[,<param2>=<value2>]...]
- --cdf-update [AV1]
- --cdf-frame-end-update [AV1]
- --temporal-layers <int> [HEVC/AV1]
- --aq-mode <string> [AV1]
- --pe
- --pa [<param1>=<value1>[,<param2>=<value2>]...]
- --slices <int> [H.264/HEVC]
- --level <string>
- --profile <string>
- --tier <string> [HEVC only]
- --sar <int>:<int>
- --dar <int>:<int>
- --colorrange <string>
- --videoformat <string>
- --colormatrix <string>
- --colorprim <string>
- --transfer <string>
- --chromaloc <int> or "auto"
- --max-cll <int>,<int> or "copy" [HEVC, AV1]
- --master-display <string> or "copy" [HEVC, AV1]
- --atc-sei <string> or <int> [HEVC only]
- --dhdr10-info <string> [HEVC, AV1]
- --dhdr10-info copy [HEVC, AV1]
- --dolby-vision-profile <string> [HEVC, AV1]
- --dolby-vision-rpu <string> [HEVC, AV1]
- --dolby-vision-rpu copy [HEVC, AV1]
- --dolby-vision-rpu-prm <param1>=<value1>[,<param2>=<value2>]...
- --ssim
- --psnr
- --smart-access-video
- --multi-instance [HEVC/AV1]
- IO / Audio / Subtitle Options
- --input-analyze <float>
- --input-probesize <int>
- --trim <int>:<int>[,<int>:<int>][,<int>:<int>]...
- --seek [<int>:][<int>:]<int>[.<int>]
- --seekto [<int>:][<int>:]<int>[.<int>]
- --input-format <string>
- -f, --output-format <string>
- --video-track <int>
- --video-streamid <int>
- --video-tag <string>
- --video-metadata <string> or <string>=<string>
- --audio-copy [<int/string>;[,<int/string>]...]
- --audio-codec [[<int/string>?]<string>[:<string>=<string>[,<string>=<string>]...]...]
- --audio-bitrate [<int/string>?]<int>
- --audio-profile [<int/string>?]<string>
- --audio-stream [<int/string>?]{<string1>}[:<string2>]
- --audio-samplerate [<int/string>?]<int>
- --audio-resampler <string>
- --audio-delay [<int/string>?]<float>
- --audio-file [<int/string>?][<string>]<string>
- --audio-filter [<int/string>?]<string>
- --audio-disposition [<int/string>?]<string>[,<string>][]...
- --audio-metadata [<int/string>?]<string> or [<int/string>?]<string>=<string>
- --audio-bsf [<int/string>?]<string>
- --audio-ignore-decode-error <int>
- --audio-source <string>[:{<int>?}[;<param1>=<value1>...]/[]...]
- --chapter <string>
- --chapter-copy
- --chapter-no-trim
- --key-on-chapter
- --keyfile <string>
- --sub-source <string>[:{<int>?}[;<param1>=<value1>...]/[]...]
- --sub-copy [<int/string>;[,<int/string>]...]
- --sub-disposition [<int/string>?]<string>
- --sub-metadata [<int/string>?]<string> or [<int/string>?]<string>=<string>
- --sub-bsf [<int/string>?]<string>
- --data-copy [<int>[,<int>]...]
- --attachment-copy [<int>[,<int>]...]
- --attachment-source <string>[:{<int>?}[;<param1>=<value1>]...]...
- --input-option <string1>:<string2>
- -m, --mux-option <string1>:<string2>
- --metadata <string> or <string>=<string>
- --avsync <string>
- --timecode [<string>]
- --tcfile-in <string>
- --timebase <int>/<int>
- --input-hevc-bsf <string>
- --allow-other-negative-pts
- Vpp Options
- Vpp Filtering order
- --vpp-colorspace [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-libplacebo-tonemapping [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-libplacebo-tonemapping-lut <string>
- --vpp-rff
- --vpp-delogo <string>[,<param1>=<value1>][,<param2>=<value2>],...
- --vpp-afs [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-nnedi [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-yadif [<param1>=<value1>]
- --vpp-decomb [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-decimate [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-mpdecimate [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-rotate <int>
- --vpp-transform [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-convolution3d [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-smooth [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-denoise-dct [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-fft3d [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-knn [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-nlmeans [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-pmd [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-preprocess [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-subburn [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-libplacebo-shader [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-resize <string>
- --vpp-scaler-sharpness <float>
- --vpp-unsharp [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-edgelevel [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-warpsharp [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-enhance [<param1>=<value1>][,<param2>=<value2>][...]
- --vpp-curves [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-tweak [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-deband [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-libplacebo-deband [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-pad <int>,<int>,<int>,<int>
- --vpp-frc [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-overlay [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-perf-monitor
- Other Options
- --output-buf <int>
- --output-thread <int>
- --log <string>
- --log-level [<param1>=]<value>[,<param2>=<value>]...
- --log-opt <param1>=<value>[,<param2>=<value>]...
- --log-framelist [<string>]
- --log-packets [<string>]
- --log-mux-ts [<string>]
- --thread-affinity [<string1>=]{<string2>[#<int>[:<int>][]...] or 0x<hex>}
- --thread-priority [<string1>=]<string2>[#<int>[:<int>][]...]
- --thread-throttling [<string1>=]<string2>[#<int>[:<int>][]...]
- --option-file <string>
- --max-procfps <int>
- --lowlatency
- --avsdll <string>
- --vsdir <string>
- --process-codepage <string> [Windows OS only]
- --perf-monitor [<string>[,<string>]...]
- --perf-monitor-interval <int>
VCEEncC.exe [Options] -i <filename> -o <filename>
VCEEncC --avhw -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"
VCEEncC --avhw --interlace tff -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"
VCEEncC -i "<avsfile>" -o "<outfilename.264>"
avs2pipemod -y4mp "<avsfile>" | VCEEncC --y4m -i - -o "<outfilename.264>"
ffmpeg -y -i "<inputfile>" -an -pix_fmt yuv420p -f yuv4mpegpipe - | VCEEncC --y4m -i - -o "<outfilename.264>"
--> use "nut" to pass both video & audio thorough pipe.
ffmpeg -y -i "<input>" <options for ffmpeg> -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -f nut - | VCEEncC --avsw -i - --audio-codec aac -o "<outfilename.mp4>"
-<short option name>, --<option name> <argument>
The argument type is
- none
- <int> ... use integer
- <float> ... use decimal point
- <string> ... use character string
The argument with [ ] { } brackets are optional.
"..." means repeat of previous block.
--(no-)xxx
If it is attached with --no-xxx, you get the opposite effect of --xxx.
Example 1: --xxx: enable xxx → --no-xxx: disable xxx
Example 2: --xxx: disable xxx → --no-xxx: enable xxx
Show help
Show version of VCEEncC
Show option list.
Check whether the specified device is able to run VCEEnc. DeviceID: "0" will be checked if not specified.
Show the information of features of the specified device. DeviceID: "0" will be checked if not specified.
Show OpenCL information.
Show available audio codec names
Show profile names available for specified codec
Show available output format
Show available protocols
Show available devices (from libavdevice)
Show available audio filters
Show version of ffmpeg dll
Specify the deviceId to be used with VCEEnc.
Specify the output codec
- h264 (default)
- hevc
- av1
Set output file name, pipe output with "-"
Set input file name, pipe input with "-"
Table below shows the supported readers of VCEEnc. When input format is not set, reader used will be selected depending on the extension of input file.
Auto selection of reader
reader | target extension |
---|---|
Avisynth reader | avs |
VapourSynth reader | vpy |
avi reader | avi |
y4m reader | y4m |
raw reader | yuv |
avhw/avsw reader | others |
color format supported by reader
reader | yuv420 | yuy2 | yuv422 | yuv444 | rgb24 | rgb32 |
---|---|---|---|---|---|---|
raw | ◎ | ◎ | ◎ | |||
y4m | ◎ | ◎ | ◎ | |||
avi | ○ | ○ | ||||
avs | ◎ | ○ | ◎ | ◎ | ||
vpy | ◎ | ◎ | ◎ | |||
avhw | □ | |||||
avsw | ◎ | ◎ | ◎ |
◎ ... 8bit / 9bit / 10bit / 12bit / 14bit / 16bit supported
◇ ... 8bit / 10bit / 12bit supported
□ ... 8bit / 10bit supported
○ ... support only 8 bits
Set the input to raw format. input resolution & input fps must also be set.
Read input as y4m (YUV4MPEG2) format.
Read avi file using avi reader.
Read Avisynth script file using avs reader.
VCEEncC works on UTF-8 mode as default, so the Avisynth script is required to be also in UTF-8 when using non ASCII characters. When using scripts in the default codepage of the OS, such as ANSI, you will need to add "--process-codepage os" option to change VCEEncC also work on the default codepage of the OS.
Read VapourSynth script file using vpy reader.
Read input file using avformat + libavcodec's sw decoder. The optional parameter will set decoder name to be used, otherwise decoder will be selected automatically.
Read input file using avformat + QSV hw decoder. Using this mode will provide maximum performance, since entire transcode process will be run on the GPU.
Codecs supported by avhw reader
Codecs | Status |
---|---|
MPEG1 | × |
MPEG2 | ○ |
H.264/AVC | ○ |
H.265/HEVC | ○ |
VP8 | × |
VP9 | ○ |
VC-1 | ○ |
WMV3/WMV9 | × |
○ ... supported
× ... no support
Set interlace flag of input frame.
- Parameters
- none ... progressive
- tff ... top field first
- bff ... Bottom Field First
- auto ... auto detect when possible
Set video track to encode in track id. Will be active when used with avhw/avsw reader.
- 1 (default) highest resolution video track
- 2 next high resolution video track ...
- -1 lowest resolution video track
- -2 next low resolution video track ...
Number of pixels to cropped from left, top, right, bottom.
Number of frames to input. (Note: input base, not output base)
Set the input frame rate when --raw is used. Not recommended to be used with readers other than --raw.
Only valid for raw format (when --raw is used), otherwise it will be ignored or only treated as a hint.
Set input resolution. Required for raw format.
Set output resolution. When it is different from the input resolution, HW/GPU resizer will be activated automatically.
If not specified, it will be same as the input resolution. (no resize)
-
Special Values
- 0 ... Will be same as input.
- One of width or height as negative value
Will be resized keeping aspect ratio, and a value which could be divided by the negative value will be chosen.
-
parameters
- preserve_aspect_ratio=<string>
Resize to specified width or height, while preserving input aspect ratio.- increase ... preserve aspect ratio by increasing resolution.
- decrease ... preserve aspect ratio by decreasing resolution.
- ignore_sar=<bool>
When auto resizing with negative value, ignore in/out SAR ratio in calculation. Default = off.
- preserve_aspect_ratio=<string>
-
Example
When input is 1280x720... --output-res 1024x576 -> normal --output-res 960x0 -> resize to 960x720 (0 will be replaced to 720, same as input) --output-res 1920x-2 -> resize to 1920x1080 (calculated to keep aspect ratio) --output-res 1440x1440,preserve_aspect_ratio=increase -> resize to 2560x1440 --output-res 1440x1440,preserve_aspect_ratio=decrease -> resize to 1440x810
Set input colorspace for --raw input. Default is yv12.
yv12, nv12, p010, yuv420p9le, yuv420p10le, yuv420p12le, yuv420p14le, yuv420p16le
yuv422p, yuv422p9le, yuv422p10le, yuv422p12le, yuv422p14le, yuv422p16le
yuv444p, yuv444p9le, yuv444p10le, yuv444p12le, yuv444p14le, yuv444p16le
The default is CQP (Constant quantization).
Set the QP value of <I frame>:<P frame>:<B frame>
Generally, it is recommended to set the QP value to be I < P < B.
Set bitrate in kbps.
--qvbr <x>
is short of --vbr 0 --qvbr-quality <x>
.
Encode qulaity preset.
- balanced
- fast
- slow
- slower (for AV1 only)
Set output bit depth.
- 8 ... 8 bits (default)
- 10 ... 10 bits
Maximum bitrate (in kbps).
Size of VBV buffer size (in kb, default auto). Max possible is 500000.
Set the minimum QP value with <I frame>:<P frame>:<B frame>. This option will be ignored in CQP mode.
It could be used to suppress bitrate being used unnecessarily to a portion of movie with still image.
Set the maximum QP value to <I frame>:<P frame>:<B frame>. This option will be ignored in CQP mode.
It could be used to maintain certain degree of image quality in any part of the video, even if doing so may exceed the specified bitrate.
Set quality level (0-51) for QVBR mode (Quality based VBR).
Set maximum GOP length. When lookahead is off, this value will always be used. (Not variable, fixed GOP)
Set the number of consecutive B frames.
Enable b-pyramid feature. (Default: auto)
Set qp offset for non-ref b frames. (Default: auto)
Set qp offset for ref b frames. (Default: auto)
Enable adaptive mini-gop. This also enables --pa in AV1 encoding. (Default: auto)
Set the reference distance. In hw encoding, incresing ref frames will have minor effect on image quality or compression rate. (Default: auto)
Set the long term reference mode. (Default: auto)
Enable adaptive quantization in frame. (Default: auto)
Enable skip frame feature. (Default: off)
Enforce hrd compatibility of bitstream.
Output filler data to adjust nominal bitrate.
Disable deblock filter.
Motion vector accuracy / default: auto
- auto ... automatic
- q-pel ... 1/4 pixel accuracy (high precision)
- half-pel ... 1/2 pixel precision
- full-pel ... 1 pixel accuracy (low accuracy)
Set number of tiles per frame.
Cdef mode.(default: auto)
- params
- on
- off
Set screen content tools. (default: auto)
-
params
-
palette-mode=<bool>
enable palette mode -
force-integer-mv=<bool>
enable force integer MV
-
-
example
--screen-content-tools palette-mode=on,force-integer-mv=on
Enable CDF update. (default: auto)
Enable CDF frame end update. (default: auto)
Number of temporal layers.
- params
- none
- caq
Enable pre-encode assisted rate control. (default: off)
Enable pre analysis to enahance quality, supports VBR mode only. (default: off)
-
params
-
sc=<string>
Sensitivity of scene change detection- none
- low
- medium (default)
- high
-
ss=<string>
Sensitivity of static scene detection- none
- low
- medium
- high (default)
-
activity-type=<string>
Block activity calcualtion mode- y (default)
- yuv
-
caq-strength=<string>
Content Adaptive Quantization (CAQ) strength- low
- medium (default)
- high
-
initqpsc=<int>
Initial qp after scene change (default: -1 = auto) -
fskip-maxqp=<int>
Threshold to insert skip frame on static scene. (default: 35) -
lookahead=<int>
Lookahead buffer size. -
ltr=<bool>
enable automatic LTR frame management -
paq=<string>
Perceptual AQ mode- none
- caq
-
taq=<int>
Temporal AQ mode- 0
- 1
- 2
-
motion-quality=<string>
High motion quality boost mode- none
- auto
-
-
example
--pa sc=high,ss=high,activity-type=yuv,paq=caq,taq=on,lookahead=32
Set number of slices.
Specify the Level of the codec to be encoded. If not specified, it will be automatically set.
h264: auto, 1, 1 b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1, 5.2
hevc: auto, 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
av1 : auto, 2, 2.1, 2.2, 2.3, 3, 3.1, 3.2, 3.3, 4, 4.1, 4.2, 4.3, 5, 5.1, 5.2, 5.3, 6, 6.1, 6.2, 6.3, 7, 7.1, 7.2, 7.3
Specify the profile of the codec to be encoded. If not specified, it will be automatically set.
h264: auto, baseline, main, high, high444
hevc: auto, main, main10, main444
av1 : auto, main
Specify the tier of the codec.
hevc: main, high
Set SAR ratio (pixel aspect ratio).
Set DAR ratio (screen aspect ratio).
"auto" will copy characteristic from input file (available when using avhw/avsw reader).
limited, full, auto
undef, ntsc, component, pal, secam, mac
"auto" will copy characteristic from input file (available when using avhw/avsw reader).
undef, auto, bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR, bt2020nc, bt2020c
"auto" will copy characteristic from input file (available when using avhw/avsw reader).
undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, film, bt2020
"auto" will copy characteristic from input file (available when using avhw/avsw reader).
undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, linear,
log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,
bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67
Set chroma location flag of the output bitstream from values 0 ... 5.
"auto" will copy from input file (available when using avhw/avsw reader)
default: 0 = unspecified
Set MaxCLL and MaxFall in nits. "copy" will copy values from the input file. (available when using avhw/avsw reader)
Please note that this option will implicitly activate --repeat-headers.
Example1: --max-cll 1000,300
Example2: --max-cll copy # copy values from source
Set Mastering display data. "copy" will copy values from the input file. (available when using avhw/avsw reader)
Please note that this option will implicitly activate --repeat-headers.
Example1: --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
Example2: --master-display copy # copy values from source
Set alternative transfer characteristics SEI from below or by integer, Required for HLG (Hybrid Log Gamma) signaling.
undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, linear,
log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,
bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67
Apply HDR10+ dynamic metadata from specified json file. Requires hdr10plus_gen.exe module additionally.
Copy HDR10+ dynamic metadata from input file.
Limitations for avhw reader: this option uses timestamps to reorder frames to decoded order to presentation order.
Therefore, input files without timestamps (such as raw ES), are not supported. Please try for avsw reader for that case.
Output file which is specified in Dolby Vision profile. Recommended to be used with --dolby-vision-rpu.
"copy" will use dolby vision profile from input file (available when using avhw/avsw reader).
unset, copy, 5.0, 8.1, 8.2, 8.4, 10.0, 10.1, 10.2, 10.4
Interleave Dolby Vision RPU metadata from the specified file into the output file. Recommended to be used with --dolby-vision-profile.
Interleave Dolby Vision RPU metadata copied from HEVC input file. Recommended to be used with --dolby-vision-profile.
Limitations for avhw reader: this option uses timestamps to reorder frames to decoded order to presentation order. Therefore, input files without timestamps (such as raw ES), are not supported. Please try for avsw reader for that case.
Set parameters for --dolby-vision-rpu
.
-
parameters
-
crop=<bool>
Set active area offsets to 0 (no letterbox bars).
-
-
Examples
Example: --dolby-vision-rpu-prm crop=true
Calculate ssim of the encoded video.
Calculate psnr of the encoded video.
Enables smart access video feature.
Enables multi instance encode.
Specify the length in seconds that libav parses for file analysis. The default is 5 (sec). If audio / subtitle tracks etc. are not detected properly, try increasing this value (eg 60).
Set the maximum size in bytes that libav parses for file analysis.
Encode only frames in the specified range.
- Examples
Example 1: --trim 0:1000,2000:3000 (encode from frame #0 to #1000 and from frame #2000 to #3000) Example 2: --trim 2000:0 (encode from frame #2000 to the end)
The format is hh:mm:ss.ms. "hh" or "mm" could be omitted. The transcode will start from the time specified.
Seeking by this option is not exact but fast, compared to --trim. If you require exact seek, use --trim.
- Examples
Example 1: --seek 0:01:15.400 Example 2: --seek 1:15.4 Example 3: --seek 75.4
The format is hh:mm:ss.ms. "hh" or "mm" could be omitted.
Set encode finish time. This might be inaccurate, so if you require exact number of frames to encode, use --trim.
- Examples
Example 1: --seekto 0:01:15.400 Example 2: --seekto 1:15.4 Example 3: --seekto 75.4
Specify input format for avhw / avsw reader.
Specify output format for muxer.
Since the output format is automatically determined by the output extension, it is usually not necessary to specify it, but you can force the output format with this option.
Available formats can be checked with --check-formats. To output H.264 / HEVC as an Elementary Stream, specify "raw".
Set video track to encode by resolution. Will be active when used with avhw/avsw reader.
- 1 (default) highest resolution video track
- 2 next high resolution video track ...
- -1 lowest resolution video track
- -2 next low resolution video track ...
Set video track to encode in stream id.
Specify video tag.
- Examples
-o test.mp4 -c hevc --video-tag hvc1
Set metadata for video track.
-
copy ... copy metadata from input if possible
-
clear ... do not copy metadata (default)
-
Examples
Example1: copy metadata from input file --video-metadata 1?copy Example2: clear metadata from input file --video-metadata 1?clear Example3: set metadata --video-metadata 1?title="video title" --video-metadata 1?language=jpn
Copy audio track into output file. Available only when avhw / avsw reader is used.
If it does not work well, try encoding with --audio-codec, which is more stable.
You can also specify the audio track (1, 2, ...) to extract with [<int>], or select audio track to copy by language with [<string>].
- Examples
Example: Copy all audio tracks --audio-copy Example: Extract track numbers #1 and #2 --audio-copy 1,2 例: Extract audio tracks marked as English and Japanese --audio-copy eng,jpn
Encode audio track with the codec specified. If codec is not set, most suitable codec will be selected automatically. Codecs available could be checked with --check-encoders.
You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
Also, after ":" you can specify params for audio encoder, after "#" you can specify params for audio decoder.
- Examples
Example 1: encode all audio tracks to mp3 --audio-codec libmp3lame Example 2: encode the 2nd track of audio to aac --audio-codec 2?aac Example 3: encode the English audio track to aac --audio-codec eng?aac Example 4: encode the English audio track and Japanese audio track to aac --audio-codec eng?aac --audio-codec jpn?aac Example 5: set param "aac_coder" to "twoloop" which will improve quality at low bitrate for aac encoder --audio-codec aac:aac_coder=twoloop
Specify the bitrate in kbps when encoding audio.
You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
Example 1: --audio-bitrate 192 (set bitrate of audio track to 192 kbps)
Example 2: --audio-bitrate 2?256 (set bitrate of 2nd audio track to to 256 kbps)
Specify audio codec profile when encoding audio.You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
Separate or merge audio channels. Audio tracks specified with this option will always be encoded. (no copying available)
By comma(",") separation, you can generate multiple tracks from the same input track.
-
format
Specify the track to be processed by <int>.
Specify the channel to be used as input by <string1>. If omitted, input will be all the input channels.
Specify the output channel format by <string2>. If omitted, all the channels of <string1> will be used.
-
Examples
Example 1: --audio-stream FR,FL Separate left and right channels of "dual mono" audio track, into two mono audio tracks. Example 2: --audio-stream :stereo Convert any audio track to stereo. Example 3: --audio-stream 2?5.1,5.1:stereo While encoding the 2nd 5.1 ch audio track of the input file as 5.1 ch, another stereo downmixed audio track will be generated from the same source audio track.
-
Available symbols
mono = FC stereo = FL + FR 2.1 = FL + FR + LFE 3.0 = FL + FR + FC 3.0(back) = FL + FR + BC 3.1 = FL + FR + FC + LFE 4.0 = FL + FR 4.0 = FL + FR + FC + BC quad = FL + FR + BL + BR quad(side) = FL + FR + SL + SR 5.0 = FL + FR + FC + SL + SR 5.1 = FL + FR + FC + LFE + SL + SR 6.0 = FL + FR + FC + BC + SL + SR 6.0(front) = FL + FR + FLC + FRC + SL + SR hexagonal = FL + FR + FC + BL + BR + BC 6.1 = FL + FR + FC + LFE + BC + SL + SR 6.1(front) = FL + FR + LFE + FLC + FRC + SL + SR 7.0 = FL + FR + FC + BL + BR + SL + SR 7.0(front) = FL + FR + FC + FLC + FRC + SL + SR 7.1 = FL + FR + FC + LFE + BL + BR + SL + SR 7.1(wide) = FL + FR + FC + LFE + FLC + FRC + SL + SR
Specify the sampling frequency of the sound in Hz. You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
- Examples
Example 1: --audio-bitrate 44100 (converting sound to 44100 Hz) Example 2: --audio-bitrate 2?22050 (Convert the second track of voice to 22050 Hz)
Specify the engine used for mixing audio channels and sampling frequency conversion.
- swr ... swresampler (default)
- soxr ... sox resampler (libsoxr)
Specify audio delay in milli seconds. You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
Extract audio track to the specified path. The output format is determined automatically from the output extension. Available only when avhw / avsw reader is used.
You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
- Examples
Example: extract audio track number #2 to test_out2.aac --audio-file 2?"test_out2.aac"
[<string>] allows you to specify the output format.
- Examples
Example: Output in adts format without extension --audio-file 2?adts:"test_out2"
Apply filters to audio track. Filters could be slected from link.
You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
- Examples
Example 1: --audio-filter volume=0.2 (lowering the volume) Example 2: --audio-filter 2?volume=-4db (lowering the volume of the 2nd track)
set disposition for the specified audio track. You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
-
list of dispositions
default dub original comment lyrics karaoke forced hearing_impaired visual_impaired clean_effects attached_pic captions descriptions dependent metadata copy
-
Examples
Example: --audio-disposition 2?default,forced
Set metadata for audio track.
- copy ... copy metadata from input if possible (default)
- clear ... do not copy metadata
You can select audio track (1, 2, ...) to encode with [<int>], or select audio track to encode by language with [<string>].
- Examples
Example1: copy metadata from input file --audio-metadata 1?copy Example2: clear metadata from input file --audio-metadata 1?clear Example3: set metadata --audio-metadata 1?title="audio title" --audio-metadata 1?language=jpn
Apply bitstream filter to audio track.
Ignore the consecutive audio decode error, and continue transcoding within the threshold specified. The portion of audio which could not be decoded properly will be replaced with silence.
The default is 10.
- Examples
Example1: Quit transcoding for a 5 consecutive audio decode error. --audio-ignore-decode-error 5 Example2: Quit transcoding for a single audio decode error. --audio-ignore-decode-error 0
Mux an external audio file specified.
-
file params
-
format=<string>
Specify input format for the file. -
input_opt=<string>
Specify input options for the file.
-
-
track params
-
copy
Copy audio track. -
codec=<string>
Encode audio to specified audio codec. -
profile=<string>
Specify audio codec profile when encoding audio. -
bitrate=<int>
Specify audio bitrate in kbps. -
samplerate=<int>
Specify audio sampling rate. -
delay=<int>
Set audio delay in milli seconds. -
dec_prm=<string>
Specify params for audio decoder. -
enc_prm=<string>
Specify params for audio encoder. -
filter=<string>
Specify filters for audio. -
disposition=<string>
Specify disposition for audio. -
metadata=<string1>=<string2>
Specify metadata for audio track. -
bsf=<string>
Specify bitstream filter for audio track.
-
-
Examples
Example1: --audio-source "<audio_file>:copy" Example2: --audio-source "<audio_file>:codec=aac" Example3: --audio-source "<audio_file>:1?codec=aac;bitrate=256/2?codec=aac;bitrate=192;metadata=language=jpn;disposition=default,forced" Example4: --audio-source "hw:1:format=alsa/codec=aac;bitrate=256"
Set chapter in the (separate) chapter file. The chapter file could be in nero format, apple format or matroska format. Cannot be used with --chapter-copy.
-
nero format
CHAPTER01=00:00:39.706 CHAPTER01NAME=chapter-1 CHAPTER02=00:01:09.703 CHAPTER02NAME=chapter-2 CHAPTER03=00:01:28.288 CHAPTER03NAME=chapter-3
-
apple format (should be in utf-8)
<?xml version="1.0" encoding="UTF-8" ?> <TextStream version="1.1"> <TextStreamHeader> <TextSampleDescription> </TextSampleDescription> </TextStreamHeader> <TextSample sampleTime="00:00:39.706">chapter-1</TextSample> <TextSample sampleTime="00:01:09.703">chapter-2</TextSample> <TextSample sampleTime="00:01:28.288">chapter-3</TextSample> <TextSample sampleTime="00:01:28.289" text="" /> </TextStream>
-
matroska format (hould be in utf-8)
Other Samples>><?xml version="1.0" encoding="UTF-8"?> <Chapters> <EditionEntry> <ChapterAtom> <ChapterTimeStart>00:00:00.000</ChapterTimeStart> <ChapterDisplay> <ChapterString>chapter-0</ChapterString> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterTimeStart>00:00:39.706</ChapterTimeStart> <ChapterDisplay> <ChapterString>chapter-1</ChapterString> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterTimeStart>00:01:09.703</ChapterTimeStart> <ChapterDisplay> <ChapterString>chapter-2</ChapterString> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterTimeStart>00:01:28.288</ChapterTimeStart> <ChapterTimeEnd>00:01:28.289</ChapterTimeEnd> <ChapterDisplay> <ChapterString>chapter-3</ChapterString> </ChapterDisplay> </ChapterAtom> </EditionEntry> </Chapters>
Copy chapters from input file.
Do not apply --trim when reading chapters.
Set keyframes on chapter position.
Set keyframes on frames (starting from 0, 1, 2, ...) specified in the file. There should be one frame ID per line.
Read subtitle from the specified file and mux into the output file.
-
file params
-
format=<string>
Specify input format for the file. -
input_opt=<string>
Specify input options for the file.
-
-
track params
-
disposition=<string>
Specify disposition for subtitle. -
metadata=<string1>=<string2>
Specify metadata for subtitle track. -
bsf=<string>
Specify bitstream filter for subtitle track.
-
-
Examples
Example1: --sub-source "<sub_file>" Example2: --sub-source "<sub_file>:disposition=default,forced;metadata=language=jpn"
Copy subtitle tracks from input file. Available only when avhw / avsw reader is used. It is also possible to specify subtitle tracks (1, 2, ...) to extract with [<int>], or select subtitle tracks to copy by language with [<string>].
Supported subtitles are PGS / srt / txt / ttxt.
- Examples
Example: Copy all subtitle tracks --sub-copy Example: Copy subtitle track #1 and #2 --sub-copy 1,2 Example: Copy subtitle tracks marked as English and Japanese --sub-copy eng,jpn
set disposition for the specified subtitle track.
- list of dispositions
default dub original comment lyrics karaoke forced hearing_impaired visual_impaired clean_effects attached_pic captions descriptions dependent metadata copy
Set metadata for subtitle track.
-
copy ... copy metadata from input if possible (default)
-
clear ... do not copy metadata
-
Examples
Example1: copy metadata from input file --sub-metadata 1?copy Example2: clear metadata from input file --sub-metadata 1?clear Example3: set metadata --sub-metadata 1?title="subtitle title" --sub-metadata 1?language=jpn
Apply bitstream filter to subtitle track.
Copy data stream from input file. Available only when avhw / avsw reader is used.
Copy attachment stream from input file. Available only when avhw / avsw reader is used.
Read attachment from the specified file and mux into the output file.
-
params
- metadata=<string1>=<string2>
Specify metadata for the attachment, setting mimetype is required.
- metadata=<string1>=<string2>
-
Examples
Example1: --attachment-source <png_file>:metadata=mimetype=image/png Example2: --attachment-source <font_file>:metadata=mimetype=application/x-truetype-font
Pass optional parameters for input for avhw/avsw reader. Specify the option name in <string1>, and the option value in <string2>.
- Examples
Example: Reading playlist 1 of bluray -i bluray:D:\ --input-option playlist:1
Pass optional parameters to muxer. Specify the option name in <string>, and the option value in <string2>.
- Examples
Example: Output for HLS -i <input> -o test.m3u8 -f hls -m hls_time:5 -m hls_segment_filename:test_%03d.ts --gop-len 30 Example: Pass through "default" disposition even if there are no "default" tracks in the output (mkv only) -m default_mode:infer_no_subs
Set global metadata for output file.
-
copy ... copy metadata from input if possible (default)
-
clear ... do not copy metadata
-
Examples
Example1: copy metadata from input file --metadata copy Example2: clear metadata from input file --metadata clear Example3: set metadata --metadata title="video title" --metadata language=jpn
-
auto (default)
-
forcecfr Check pts from the input file, and duplicate or remove frames if required to keep CFR, so that synchronization with the audio could be maintained. Please note that this could not be used with --trim.
-
vfr
Honor source timestamp and enable vfr output. Only available for avsw/avhw reader, and could not be used with --trim.
Write timecode file to the specified path. If the path is not set, it will be written to "<output file path>.timecode.txt".
Read timecode file for input frames, can be used with readers except avhw.
Set timebase for transcoding and timecode file.
switch hevc bitstream filter used for hw decoder input. (for debug purpose)
-
Parameters
-
internal
use internal implementation. (default) -
libavcodec
use hevc_mp4toannexb bitstream filter.
-
Allow negative timestamps for audio, subtitles. Intended for debug purpose only.
These options will apply filters before encoding.
Vpp filters will be applied in fixed order, regardless of the order in the commandline.
- filter list
- --vpp-colorspace
- --vpp-libplacebo-tonemapping
- --vpp-rff
- --vpp-delogo
- --vpp-afs
- --vpp-nnedi
- --vpp-yadif
- --vpp-decomb
- --vpp-transform/rotate
- --vpp-decimate
- --vpp-mpdecimate
- --vpp-select-every
- --vpp-transform/rotate
- --vpp-convolution3d
- --vpp-smooth
- --vpp-denoise-dct
- --vpp-knn
- --vpp-nlmeans
- --vpp-pmd
- --vpp-subburn
- --vpp-libplacebo-shader
- --vpp-resize
- --vpp-unsharp
- --vpp-edgelevel
- --vpp-warpsharp
- --vpp-curves
- --vpp-tweak
- --vpp-deband
- --vpp-libplacebo-deband
- --vpp-padding
- --vpp-overlay
Converts colorspace of the video. Available on x64 version.
Values for parameters will be copied from input file for "input".
-
parameters
-
matrix=<from>:<to>
bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR, bt2020nc, bt2020c, auto
-
colorprim=<from>:<to>
bt709, smpte170m, bt470m, bt470bg, smpte240m, film, bt2020, auto
-
transfer=<from>:<to>
bt709, smpte170m, bt470m, bt470bg, smpte240m, linear, log100, log316, iec61966-2-4, iec61966-2-1, bt2020-10, bt2020-12, smpte2084, arib-std-b67, auto
-
range=<from>:<to>
limited, full, auto
-
lut3d=<string>
Apply a 3D LUT to an input video. Curretly supports .cube file only. -
lut3d_interp=<string>
nearest, trilinear, tetrahedral, pyramid, prism
-
hdr2sdr=<string>
Enables HDR10 to SDR by selected tone-mapping.-
none (default)
hdr2sdr processing is disabled. -
hable
Trys to preserve both bright and dark detailes, but with rather dark result. You may specify addtional params (a,b,c,d,e,f) for the hable tone-mapping function below.hable(x) = ( (x * (ax + cb) + de) / (x * (ax + b) + d*f) ) - e/f
output = hable( input ) / hable( (source_peak / ldr_nits) )defaults: a = 0.22, b = 0.3, c = 0.1, d = 0.2, e = 0.01, f = 0.3
-
mobius
Trys to preserve contrast and colors while bright details might be removed.- transition=<float> (default: 0.3)
Threshold to move from linear conversion to mobius tone mapping. - peak=<float> (default: 1.0)
reference peak brightness
- transition=<float> (default: 0.3)
-
reinhard
- contrast=<float> (default: 0.5)
local contrast coefficient - peak=<float> (default: 1.0)
reference peak brightness
- contrast=<float> (default: 0.5)
-
bt2390
Perceptual tone mapping curve EETF) specified in BT.2390.
-
-
source_peak=<float> (default: 1000.0)
-
ldr_nits=<float> (default: 100.0)
Target brightness for hdr2sdr function. -
desat_base=<float> (default: 0.18)
Offset for desaturation curve used in hdr2sr. -
desat_strength=<float> (default: 0.75)
Strength of desaturation curve used in hdr2sr. 0.0 will disable the desaturation, 1.0 will make overly bright colors will tend towards white. -
desat_exp=<float> (default: 1.5)
Exponent of the desaturation curve used in hdr2sr. This controls the brightness of which desaturated is going to start. Lower value will make the desaturation to start earlier.
-
-
Examples
example1: convert from BT.601 -> BT.709 --vpp-colorspace matrix=smpte170m:bt709 example2: using hdr2sdr (hable tone-mapping) --vpp-colorspace hdr2sdr=hable,source_peak=1000.0,ldr_nits=100.0 example3: using hdr2sdr (hable tone-mapping) and setting the coefs (this is example for the default settings) --vpp-colorspace hdr2sdr=hable,source_peak=1000.0,ldr_nits=100.0,a=0.22,b=0.3,c=0.1,d=0.2,e=0.01,f=0.3
Performs tone mapping using libplacebo.
-
Parameters
-
src_csp=<string>
Input color space.auto, sdr, hdr10, hlg, dovi, rgb
-
dst_csp=<string>
Output color space.auto, sdr, hdr10, hlg, dovi, rgb
-
src_max=<float>
Input maximum luminance (nits). (Default: auto, tries to get info from input file if possible, otherwise 1000.0 (HDR) / 203.0 (SDR)) -
src_min=<float>
Input minimum luminance (nits). (Default: auto, tries to get info from input file if possible, otherwise 0.005 (HDR) / 0.2023 (SDR)) -
dst_max=<float>
Output maximum luminance (nits). (Default: auto, tries to get info from parameters if possible, otherwise 1000.0 (HDR) / 203.0 (SDR)) -
dst_min=<float>
Output minimum luminance (nits). (Default: auto, tries to get info from parameters if possible, otherwise 0.005 (HDR) / 0.2023 (SDR)) -
dynamic_peak_detection=<bool>
Enables computation of signal stats to optimize HDR tone mapping quality. Default: true -
smooth_period=<float>
Smoothing coefficient for detected values. Default: 20.0 -
scene_threshold_low=<float>
Lower threshold for scene change detection (dB). Default: 1.0 -
scene_threshold_high=<float>
Upper threshold for scene change detection (dB). Default: 3.0 -
percentile=<float>
Percentile to consider for luminance histogram. Default: 99.995 -
black_cutoff=<float>
Black level cutoff intensity (PQ%). Default: 1.0 -
gamut_mapping=<string>
Gamut mapping mode. (Default: perceptual)clip, perceptual, softclip, relative, saturation, absolute, desaturate, darken, highlight, linear
-
tonemapping_function=<string>
Tone mapping function. (Default: bt2390)clip, st2094-40, st2094-10, bt2390, bt2446a, spline, reinhard, mobius, hable, gamma, linear, linearlight
-
for tonemapping_function=st2094-40, st2094-10, spline
-
knee_adaptation=<float> (float, 0.0 - 1.0, default: 0.4)
Configures the knee point as a ratio between the source and target average brightness in PQ space.- 1.0: Always adapts source scene average to scaled target average
- 0.0: Never modifies scene brightness
-
knee_min=<float> (0.0 - 0.5, default: 0.1)
Minimum knee point in ratio of PQ luminance range. -
knee_max=<float> (0.5 - 1.0, default: 0.8)
Maximum knee point in ratio of PQ luminance range. -
knee_default=<float> (knee_min - knee_max, default: 0.4)
Default knee point used when source scene average metadata is unavailable.
-
-
for tonemapping_function=bt2390
- knee_offset=<float> (0.5 - 2.0, default: 1.0)
Knee point offset.
- knee_offset=<float> (0.5 - 2.0, default: 1.0)
-
for tonemapping_function=spline
-
slope_tuning=<float> (0.0 - 10.0, default: 1.5)
Coefficient for the slope of the spline curve. -
slope_offset=<float> (0.0 - 1.0, default: 0.2)
Slope offset of the spline curve. -
spline_contrast=<float> (0.0 - 1.5, default: 0.5)
Contrast for the spline function. Higher values preserve midtones but may lose shadow/highlight details.
-
-
for tonemapping_function=reinhard
- reinhard_contrast=<float> (0.0 - 1.0, default: 0.5)
contrast coefficient at display peak for the reinhard function.
- reinhard_contrast=<float> (0.0 - 1.0, default: 0.5)
-
for tonemapping_function=mobius, gamma
- linear_knee=<float> (0.0 - 1.0, default: 0.3)
-
for tonemapping_function=linear, linearlight
- exposure=<float> (0.0 - 10.0, default: 1.0)
Linear exposure/gain applied.
- exposure=<float> (0.0 - 10.0, default: 1.0)
-
metadata=<int>
Data source to use for tone mapping.any, none, hdr10, hdr10plus, cie_y
-
contrast_recovery=<float>
Contrast recovery strength. Default: 0.3 -
contrast_smoothness=<float>
Contrast recovery lowpass kernel size. Default: 3.5 -
visualize_lut=<bool>
Visualize tone mapping curve/LUT. Default: false -
show_clipping=<bool>
Graphically highlight hard-clipped pixels. Default: false -
use_dovi=<bool>
Whether to use Dolby Vision RPU as ST2086 metadata. Default: auto (enabled when tone mapping from Dolby Vision) -
dst_pl_transfer=<string>
Output transfer function. Must be used withdst_pl_colorprim
.unknown, srgb, bt1886, linear, gamma18, gamma20, gamma22, gamma24, gamma26, gamma28, prophoto, st428, pq, hlg, vlog, slog1, slog2
-
dst_pl_colorprim=<string>
Output color primaries. Must be used withdst_pl_transfer
.unknown, bt601_525, bt601_625, bt709, bt470m, ebu_3213, bt2020, apple, adobe, prophoto, cie_1931, dci_p3, display_p3, v_gamut, s_gamut, film_c, aces_ap0, aces_ap1
-
-
Examples
Example: Dolby Vision to SDR tone mapping --vpp-libplacebo-tonemapping src_csp=dovi,dst_csp=sdr
lut file path used in --vpp-libplacebo-tonemapping.
Reflect the Repeat Field Flag. The avsync error caused by rff could be solved. Available only when --avsw is used.
rff of 2 or more will not be supported (only supports rff = 1). Also, it can not be used with --trim.
- Parameters
-
select=<string>
For logo pack, specify the logo to use with one of the following.- Logo name
- Index (1, 2, ...)
- Automatic selection ini file
For logo pack, specify the logo to use with one of the following.
-
Logo name
-
Index (1, 2, ...)
-
Automatic selection ini file
[LOGO_AUTO_SELECT] logo<num>=<pattern>,<logo name>
Example:
[LOGO_AUTO_SELECT] logo1= (NHK-G).,NHK総合 1440x1080 logo2= (NHK-E).,NHK-E 1440x1080 logo3= (MX).,TOKYO MX 1 1440x1080 logo4= (CTC).,チバテレビ 1440x1080 logo5= (NTV).,日本テレビ 1440x1080 logo6= (TBS).,TBS 1440x1088 logo7= (TX).,TV東京 50th 1440x1080 logo8= (CX).,フジテレビ 1440x1088 logo9= (BSP).,NHK BSP v3 1920x1080 logo10= (BS4).,BS日テレ 1920x1080 logo11= (BSA).,BS朝日 1920x1080 logo12= (BS-TBS).,BS-TBS 1920x1080 logo13= (BSJ).,BS Japan 1920x1080 logo14= (BS11).,BS11 1920x1080 v3
-
pos <int>:<int>
Adjustment of logo position with 1/4 pixel accuracy in x:y direction. -
depth <int>
Adjustment of logo transparency. Default 128. -
y=<int>
-
cb=<int>
-
cr=<int>
Adjustment of each color component of the logo.
-
Activate Auto Field Shift (AFS) deinterlacer.
-
parameters
-
top=<int>
-
bottom=<int>
-
left=<int>
-
right=<int> clip out the range to decide field shift.
-
method_switch=<int> (0 - 256)
threshold to swicth field shift algorithm. -
coeff_shift=<int> (0 - 256)
threshold for field shift, with bigger value, more field shift will be occurred. -
thre_shift=<int> (0 - 1024)
threshold for stripe detection which will be used on shift decision. Lower value will result more stripe detection. -
thre_deint=<int> (0 - 1024)
threshold for stripe detection which will be used on deinterlacing. Lower value will result more stripe detection. -
thre_motion_y=<int> (0 - 1024)
-
thre_motion_c=<int> (0 - 1024)
threshold for motion detection. Lower value will result more motion detection. -
level=<int> (0 - 4)
Select how to remove the stripes.level process target decription 0 none Stripe removing process will not be done.
New frame generated by field shift will be the output.1 triplication all pixels Blend previous field into new frame generated by field shift.
Stripe caused be motion will all become afterimage.2 duplicate stripe-detected pixels Blend previous field into new frame generated by field shift, only on stripe detected pixels.
Should be used for movies with little motion.3 (default) duplicate motion-detected pixels Blend previous field into new frame generated by field shift, only on motion detected pixels.
This mode can preserve more edges or small letters compared to level 2.4 interpolate motion-detected pixels On motion detected pixels, drop one field, and generate pixel by interpolating from the other field.
There will be no afterimage, but the vertical resolution of pixels with motion will halved. -
shift=<bool>
Enable field shift. -
drop=<bool>
drop frame which has shorter display time than "1 frame". Note that enabling this option will generate VFR (Variable Frame Rate) output. When muxing is done by QSVEncC, the timecode will be applied automatically. However, when using raw output, you will need output timecode file by adding "timecode=true" to vpp-afs option, and mux the timecode file later. -
smooth=<bool>
Smoothen picture display timing. -
24fps=<bool>
Force 30fps -> 24fps conversion. -
tune=<bool>
When this options is set true, the output will be the result of motion and stripe detection, shown by the color below.color description dark blue motion was detected grey stripe was detected light blue motion & stripe was detected -
rff=<bool>
When this options is set true, rff flag from input will be checked, and when there is progressive frame coded with rff, then deinterlacing will not be applied. -
log=<bool>
Generate log of per frame afs status (for debug). -
preset=<string>
Parameters will be set as below.preset name default triple double anime
cinemamin_afterimg 24fps 30fps method_switch 0 0 0 64 0 92 0 coeff_shift 192 192 192 128 192 192 192 thre_shift 128 128 128 128 128 448 128 thre_deint 48 48 48 48 48 48 48 thre_motion_y 112 112 112 112 112 112 112 thre_motion_c 224 224 224 224 224 224 224 level 3 1 2 3 4 3 3 shift on off on on on on off drop off off on on on on off smooth off off on on on on off 24fps off off off off off on off tune off off off off off off off
-
-
examples
example: same as --vpp-afs preset=24fps --vpp-afs preset=anime,method_switch=92,thre_shift=448,24fps=true
nnedi deinterlacer.
-
parameters
-
field
- auto (default)
Generate latter field from first field. - top
Generate bottom field using top field. - bottom
Generate top field using bottom field.
- auto (default)
-
nns (default: 32)
Neurons of neural net.- 16, 32, 64, 128, 256
-
nsize (default: 32x4)
Area size which neural net uses to generate a pixel.- 8x6, 16x6, 32x6, 48x6, 8x4, 16x4, 32x4
-
quality
quality settings.-
fast (default) Use one neural net to generate output.
-
slow
"slow" uses another neural net and blends 2 outputs from different network to enhance quality.
-
-
prescreen
-
none
No pre-screening is done and all pixels will be generated by neural net. -
original
-
new (default)
Runs prescreener to determine which pixel to apply neural net, other pixels will be generated from simple interpolation. -
original_block
-
new_block (default)
GPU optimized version of "original", "new". Applies screening based on block, and not pixel.
-
-
errortype
Select weight parameter for neural net.- abs (default)
Use weight trained to minimize absolute error. - square
Use weight trained to minimize square error.
- abs (default)
-
prec
Select precision.-
auto (default)
Use fp16 whenever it is available and will be faster, otherwise use fp32. -
fp16
Force to use fp16. x64 only. -
fp32
Force to use fp32.
-
-
weightfile
Set path of weight file. By default (not specified), internal weight params will be used.
-
-
Examples
example: --vpp-nnedi field=auto,nns=64,nsize=32x6,quality=slow,prescreen=none,prec=fp32
Yadif deinterlacer.
-
parameters
-
mode
- auto (default)
Generate latter field from first field. - tff
Generate bottom field using top field. - bff
Generate top field using bottom field. - bob
Generate one frame from each field. - bob_tff
Generate one frame from each field assuming top field first. - bob_bff
Generate one frame from each field assuming bottom field first.
- auto (default)
-
Decomb deinterlaer.
-
parameters
-
full=<bool>
deinterlace all frames. default on. -
threshold=<int>
threshold for combed frame detection. default 20 (0 - 255). -
dthreshold=<int> threshold for deinterlacing frames detected as combed. default 7 (0 - 255).
-
blend=<bool>
blend rather than interpolate. default off.
-
Drop duplicated frame in cycles set.
- parameters
-
cycle=<int> (default: 5)
num of frame to select frame(s) to be droppped. -
drop=<int> (default: 1)
num of frame(s) to drop within a cycle. -
thredup=<float> (default: 1.1, 0.0 - 100.0)
duplicate threshold. -
thresc=<float> (default: 15.0, 0.0 - 100.0)
scene change threshold. -
blockx=<int>
-
blocky=<int>
block size of x and y direction, default = 32. block size could be 4, 8, 16, 32, 64. -
chroma=<bool>
consdier chroma (default: on). -
log=<bool>
output log file (default: off).
-
Drop consequentive duplicate frame(s) and create a VFR video, which might improve effective encoding performance, and improve compression efficiency. Please note that --avsync vfr is automatically activated when using this filter.
- parameters
-
hi=<int> (default: 768, 8x8x12)
The frame might be dropped if no 8x8 block difference is more than "hi". -
lo=<int> (default: 320, 8x8x5)
-
frac=<float> (default: 0.33)
The frame might be dropped if the fraction of 8x8 blocks with difference smaller than "lo" is more than "frac". -
max=<int> (default: 0)
Max consecutive frames which can be dropped (if positive).
Min interval between dropped frames (if negative). -
log=<bool>
output log file. (default: off)
-
Rotate video. 90, 180, 270 degrees is allowed.
- Parameters
-
flip_x=<bool>
-
flip_y=<bool>
-
transpose=<bool>
-
3d noise reduction.
-
Parameters
-
matrix=<string> (default=original)
select matrix to use.- standard
1 2 1 2 4 2 1 2 1 2 4 1 4 8 4 2 4 1 1 2 1 2 4 2 1 2 1
- simple
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
- standard
-
fast=<bool> (default=false)
Use more simple fast mode. -
ythresh=<float> (default=3, 0-255)
Spatial luma threshold to take care of edges. Larger threshold will result stronger denoising, but blurring might occur arround edges. -
cthresh=<float> (default=4, 0-255)
Spatial chroma threshold. Larger threshold will result stronger denoising, but blurring might occur arround edges. -
t_ythresh=<float> (default=3, 0-255)
Temporal luma threshold. Larger threshold will result stronger denoising, but ghosting might occur. Threshold below 10 is recommended. -
t_cthresh=<float> (default=4, 0-255)
Temporal chroma threshold. Larger threshold will result stronger denoising, but ghosting might occur. Threshold below 10 is recommended.
-
-
Examples
Example: using simple matrix --vpp-convolution3d matrix=simple
- parameters
-
quality=<int> (default=3, 1-6)
Quality of the filter. Larger value should result in higher quality but with lower speed. -
qp=<int> (default=12, 1 - 63)
Strength of the filter. Larger value will result stronger denoise but with blurring. -
prec
Select precision.-
auto (default)
Use fp16 whenever it is available and will be faster, otherwise use fp32. -
fp16
Force to use fp16. x64 only. -
fp32
Force to use fp32.
-
-
- parameters
-
step=<int>
Quality of the filter. Smaller value should result in higher quality but with lower speed.- 1 (high quality, slow)
- 2 (default)
- 4
- 8 (fast)
-
sigma=<float> (default=4.0)
Strength of the filter. Larger value will result stronger denoise but with blurring. -
block_size=<int> (default=8)
- 8
- 16 (slow)
-
FFT based denoise filter.
- parameters
-
sigma=<float>
Strength of filter. (default=1.0, 0.0 - 100.0) -
amount=<float> (default=1.0, 0.0 - 1.0)
Amount of denoising. -
block_size=<int> (default=32)
- 8
- 16
- 32
- 64
-
overlap=<float> (default=0.5, 0.2 - 0.8)
Block overlap, value 0.5 or larger is recomended. -
method=<int> (default = 0)
- 0 ... wiener method
- 1 ... hard thresholding
-
temporal=<int> (default = 1)
- 0 ... spatial filtering only
- 1 ... enable temporal filtering
-
prec=<string> (default = auto)
- auto ... use fp16 if possible (faster)
- fp32 ... always use fp32
-
Strong noise reduction filter.
-
Parameters
-
radius=<int> (default=3, 1-5)
radius of filter. Larger value will result stronger denosing, but will require more calculation. -
strength=<float> (default=0.08, 0.0 - 1.0)
Strength of the filter. Larger value will result stronger denosing. -
lerp=<float> (default=0.2, 0.0 - 1.0)
The degree of blending of the original pixel to the noise reduction pixel. -
th_lerp=<float> (default=0.8, 0.0 - 1.0)
Threshold of edge detection.
-
-
Examples
Example: slightly stronger than default --vpp-knn radius=3,strength=0.10,lerp=0.1
Non local means noise reduction filter.
-
Parameters
-
sigma=<float> (default=0.005, 0.0 -)
Noise variance. Larger value will result stronger denosing. -
h=<float> (default=0.05, 0.0 <)
Parameter. Larger value will result the weight to be more flat. -
patch=<int> (default=5, 3 - )
Set patch size. Must be odd number. -
search=<int> (default=11, 3 - )
Set search size. Must be odd number. -
fp16=<string> (default=blockdiff)
-
none
Do not use fp16 and use fp32. High precision but slow. -
blockdiff
Use fp16 in block diff calculation. Balanced between performace and precision. -
all
Additionally use fp16 in weight calculation. Fast but low precision.
-
-
-
Examples
Example: Use larger search area --vpp-nlmeans patch=7,search=15
Rather weak noise reduction by modified pmd method, aimed to preserve edge while noise reduction.
-
Parameters
-
apply_count=<int> (default=2, 1- )
Number of times to apply the filter. Applying filter many times will remove noise stronger. -
strength=<float> (default=100, 0-100)
Strength of the filter. -
threshold=<float> (default=100, 0-255)
Threshold for edge detection. The smaller the value is, more will be detected as edge, which will be preserved.
-
-
Examples
Example: Slightly weak than default --vpp-pmd apply_count=2,strength=90,threshold=120
JND based edge-adaptive denoising filter that helps the encoder to achieve better coding efficiency. This filter aims at removing bit-expensive high frequency details that are not important for the human visual system. Supports 8bit only (not available for 10bit).
- Parameters
-
strength=<int> (default: 4, range 0 - 10) Strength of filter. The higher the strength, the stronger the filtering.
-
sensitivity=<int> (default: 4, range 0 - 10) Sensitivity of edges detection. The higher the value, the more likely edges will be detected, and less likely filtering will occur.
-
adapt-filter=<bool> (default: %s) Enable adaptive filtering.
-
"Burn in" specified subtitle to the video. Text type subtitles will be rendered by libass.
-
Parameters
-
track=<int>
Select subtitle track of the input file to burn in, track count starting from 1. Available when --avhw or --avsw is used. -
filename=<string>
Select subtitle file path to burn in. -
charcode=<string>
Specify subtitle charcter code to burn in, for text type sub. -
shaping=<string>
Rendering quality of text, for text type sub.- simple
- complex (default)
-
scale=<float> (default=0.0 (auto))
scaling multiplizer for bitmap fonts. -
transparency=<float> (default=0.0, 0.0 - 1.0)
adds additional transparency for subtitle. -
brightness=<float> (default=0.0, -1.0 - 1.0)
modifies brightness of the subtitle. -
contrast=<float> (default=1.0, -2.0 - 2.0)
modifies contrast of the subtitle. -
vid_ts_offset=<bool>
add timestamp offset to match the first timestamp of the video file (default on) Please note that when "track" is used, this options is always on. -
ts_offset=<float> (default=0.0)
add offset in seconds to the subtitle timestamps (for debug perpose). -
fontsdir=<string>
directory with fonts used. -
forced_subs_only=<bool>
render forced subs only (default: off).
-
-
examples
Example1: burn in subtitle from the track of the input file --vpp-subburn track=1 Example2: burn in PGS subtitle from file --vpp-subburn filename="subtitle.sup" Example3: burn in ASS subtitle from file which charcter code is Shift-JIS --vpp-subburn filename="subtitle.sjis.ass",charcode=sjis,shaping=complex
Apply custom shaders in the specified path using libplacebo.
-
Parameters
-
shader=<string>
Target shader file path. (glsl file) -
res=<int>x<int>
Output resolution of the filter. -
colorsystem=<string>
Color system to use. Default: auto detect.auto, unknown, bt601, bt709, smpte240m, bt2020nc, bt2020c, bt2100pq, bt2100hlg, dolbyvision, ycgco, rgb, xyz
-
transfer=<string>
Output transfer function. Default: auto detect.auto, unknown, srgb, bt1886, linear, gamma18, gamma20, gamma22, gamma24, gamma26, gamma28, prophoto, st428, pq, hlg, vlog, slog1, slog2
-
resampler=<string>
Filter function to use when resample is required. Default: libplacebo-ewa-lanczos.libplacebo-spline16, libplacebo-spline36, libplacebo-spline64, libplacebo-nearest, libplacebo-bilinear, libplacebo-gaussian, libplacebo-sinc, libplacebo-lanczos, libplacebo-ginseng, libplacebo-ewa-jinc, libplacebo-ewa-lanczos, libplacebo-ewa-lanczossharp, libplacebo-ewa-lanczos4sharpest, libplacebo-ewa-ginseng, libplacebo-ewa-hann, libplacebo-ewa-hanning, libplacebo-bicubic, libplacebo-triangle, libplacebo-hermite, libplacebo-catmull-rom, libplacebo-mitchell, libplacebo-mitchell-clamp, libplacebo-robidoux, libplacebo-robidouxsharp, libplacebo-ewa-robidoux, libplacebo-ewa-robidouxsharp
-
radius=<float>
Adjust the function's radius. Default: auto. Must be between 0.0 and 16.0. -
clamp=<float>
Clamping coefficient for negative weights. Default: 0.0. Must be between 0.0 and 1.0. -
taper=<float>
Additional taper coefficient. Default: 0.0. Must be between 0.0 and 1.0. -
blur=<float>
Additional blur coefficient. Default: 0.0. Must be between 0.0 and 100.0. -
antiring=<float>
Antiringing strength. Default: 0.0. Must be between 0.0 and 1.0. -
linear=<bool>
linearize image bdfore processing.
-
-
Examples
Example: Apply a custom shader (1280x720 -> 2560x1440) --vpp-libplacebo-shader shader=default-shader-pack-2.1.0\Anime4K_Upscale_CNN_x2_L.glsl,res=2560x1440
Specify the resizing algorithm.
- Parameters
option name description auto auto select advanced use high quality scaling bilinear linear interpolation bicubic bicubic interpolation spline16 4x4 spline curve interpolation spline36 6x6 spline curve interpolation spline64 8x8 spline curve interpolation lanczos2 4x4 Lanczos resampling lanczos3 6x6 Lanczos resampling lanczos4 8x8 Lanczos resampling amf_bilinear amf bilinear interpolation amf_bicubic amf bicubic interpolation amf_fsr amf fsr resampling
sharpness for amf_fsr. (default=0.5, 0.0-2.0)
unsharp filter, for edge and detail enhancement.
-
Parameters
-
radius=<int> (default=3, 1-9)
radius of edge / detail detection. -
weight=<float> (default=0.5, 0-10)
Strength of edge and detail emphasis. Larger value will result stronger effect. -
threshold=<float> (default=10.0, 0-255)
Threshold for edge and detail detection.
-
-
examples
Example: Somewhat stronger --vpp-unsharp weight=1.0
Edge level adjustment filter, for edge sharpening.
-
Parameters
-
strength=<float> (default=5.0, -31 - 31)
Strength of edge sharpening. Larger value will result stronger edge sharpening. -
threshold=<float> (default=20.0, 0 - 255)
Noise threshold to avoid enhancing noise. Larger value will treat larger luminance change as noise. -
black=<float> (default=0.0, 0-31)
strength to enhance dark part of edges. -
white=<float> (default=0.0, 0-31)
strength to enhance bright part of edges.
-
-
examples
Example: Somewhat stronger (Aviutl version default) --vpp-edgelevel strength=10.0,threshold=16.0,black=0,white=0 Example: Strengthening the black part of the outline --vpp-edgelevel strength=5.0,threshold=24.0,black=6.0
Edge warping (sharpening) filter.
-
Parameters
-
threshold=<float> (default=128.0, 0 - 255)
Threshold used when detencting edges. Raising this value will result stronger sharpening. -
blur=<int> (default=2)
Number of times to blur. More times of blur will result weaker sharpening. -
type=<int> (default=0)
- 0 ... use 13x13 size blur.
- 1 ... use 5x5 size blur. This results higher quality, but requires more blur counts.
-
depth=<float> (default=16.0, -128.0 - 128.0)
Depth of warping, raising this value will result stronger sharpening. -
chroma=<int> (default=0)
Select how to process chroma channels.- 0 ... Use luma based mask to process hcroma channels.
- 1 ... Create individual mask for each chroma channels.
-
-
examples
Example: Using type 1. --vpp-warpsharp threshold=128,blur=3,type=1
- Parameters
-
attenuation=<float> (default: 0.1, range 0.02 - 0.4)
-
radius=<int> (default: 2, range 1 - 4)
-
Apply color adjustments using curves.
-
Parameters
-
preset=<float>
- none
- color_negative
- process
- darker
- lighter
- increase_contrast
- linear_contrast
- medium_contrast
- strong_contrast
- negative
- vintage
-
m=<string>
Set master curve points, post process for luminance. -
r=<string>
Set curve points for red. Will override preset settings. -
g=<string>
Set curve points for green. Will override preset settings. -
b=<string>
Set curve points for blue. Will override preset settings. -
all=<string>
Set curve points for r,g,b when not specified. Will override preset settings.
-
-
Examples
Example: --vpp-curves r="0/0.11 0.42/0.51 1/0.95":g="0/0 0.50/0.48 1/1":b="0/0.22 0.49/0.44 1/0.8"
-
Parameters
-
brightness=<float> (default=0.0, -1.0 - 1.0)
-
contrast=<float> (default=1.0, -2.0 - 2.0)
-
gamma=<float> (default=1.0, 0.1 - 10.0)
-
saturation=<float> (default=1.0, 0.0 - 3.0)
-
hue=<float> (default=0.0, -180 - 180)
-
swapuv=<bool> (default=false)
-
y_offset=<float> (default=0.0, -1.0 - 1.0)
-
y_gain=<float> (default=1.0, -2.0 - 2.0)
-
cb_offset=<float> (default=0.0, -1.0 - 1.0)
-
cb_gain=<float> (default=1.0, -2.0 - 2.0)
-
cr_offset=<float> (default=0.0, -1.0 - 1.0)
-
cr_gain=<float> (default=1.0, -2.0 - 2.0)
-
r_offset=<float> (default=0.0, -1.0 - 1.0)
-
r_gain=<float> (default=1.0, -2.0 - 2.0)
-
r_gamma=<float> (default=1.0, 0.1 - 10.0)
-
g_offset=<float> (default=0.0, -1.0 - 1.0)
-
g_gain=<float> (default=1.0, -2.0 - 2.0)
-
g_gamma=<float> (default=1.0, 0.1 - 10.0)
-
b_offset=<float> (default=0.0, -1.0 - 1.0)
-
b_gain=<float> (default=1.0, -2.0 - 2.0)
-
b_gamma=<float> (default=1.0, 0.1 - 10.0)
-
-
examples
Example: --vpp-tweak brightness=0.1,contrast=1.5,gamma=0.75
-
Parameters
-
range=<int> (default=15, 0-127)
Blur range. Samples to be used for blur are taken from pixels within this range. -
sample=<int> (default=1, 0-2)
-
sample = 0 Processing is performed by referring a pixel within "range".
-
sample = 1 Blur processing is performed by referring total of 2 pixels, a pixel within "range" and its point symmetric pixel.
-
sample = 2 Blur processing is performed by referring total of 4 pixels including 2 pixels within "range" and their point symmetric pixels.
-
-
thre=<int> (set same threshold for y, cb & cr)
-
thre_y=<int> (default=15, 0-31)
-
thre_cb=<int> (default=15, 0-31)
-
thre_cr=<int> (default=15, 0-31)
Threshold for y, cb, cr blur. If this value is high, the filter will be stronger, but thin lines and edges are likely to disappear. -
dither=<int> (set same dither for y & c)
-
dither_y=<int> (default=15, 0-31)
-
dither_c=<int> (default=15, 0-31)
Dither strength of y & c. -
seed=<int>
Change of random number seed. (default = 1234) -
blurfirst (default=off)
Stronger effect could be expected, by processing blur first. However side effects may also become stronger, which might make thin lines to disappear. -
rand_each_frame (default=off)
Change the random number used by the filter every frame.
-
-
examples
Example: --vpp-deband range=31,dither=12,rand_each_frame
Deband filter by libplacebo.
-
Parameters
-
iterations=<int>
iterations (default=1, 0-) -
threshold=<float>
cut-off threshold (default=4.0, 0-) -
radius=<float>
initial radius (default=16.0, 0-) -
grain_y=<float>
extra noise for luma (default=6.0, 0-) -
grain_c=<float>
extra noise for chroma (default=grain_y, 0-) -
dither=<string>
dither mode, only for 8bit.- none
- blue_noise (default)
- ordered_lut
- ordered_fixed
- white_noise
-
lut_size=<int>
size of LUT. (default=64)2, 4, 8, 16, 32, 64, 128, 256
-
-
Examples
Example: --vpp-libplacebo-deband iterations=1,radius=32
add padding to left,top,right,bottom (in pixels)
Frame rate conversion filter.
-
Parameters
-
profile=<string>
Set the profile for frame rate conversion.- low
- high (default)
- super
-
search=<string>
- native (default)
- performance
-
-
examples
--vpp-frc profile=super,search=native,blend=false
Overlay image on top of base video.
-
Parameters
-
file=<string>
source file path of the image. When video is used for file, video framerate should be equal to base video file. -
pos=<int>x<int>
position to add image. -
size=<int>x<int>
size of image. -
alpha=<float> (default: 1.0 (0.0 - 1.0))
alpha value of overlay. -
alpha_mode=<string>
- override ... set value of alpha
- mul ... multiple original value
- lumakey ... set alpha depending on luma
-
lumakey_threshold=<float> (default: 0.0 (dark: 0.0 - 1.0 :bright))
luma used for tranparency. -
lumakey_tolerance=<float> (default: 0.1 (0.0 - 1.0))
set luma range to be keyed out. -
lumakey_softness=<float> (default: 0.0 (0.0 - 1.0))
set the range of softness for lumakey.
-
-
examples
--vpp-overlay file=logo.png,pos=1620x780,size=300x300 --vpp-overlay file=logo.mp4,pos=0x800,alpha_mode=lumakey,lumakey_threshold=0.0,lumakey_tolerance=0.1
Print processing time for each filter enabled. This is meant for profiling purpose only, please note that when this option is enabled, overall performance will decrease as the application waits each filter to finish when checking processing time of them.
Specify the output buffer size in MB. The default is 8 and the maximum value is 128.
The output buffer will store output data until it reaches the buffer size, and then the data will be written at once. Higher performance and reduction of file fragmentation on the disk could be expected.
On the other hand, setting too much buffer size could decrease performance, since writing such a big data to the disk will take some time. Generally, leaving this to default should be fine.
If a protocol other than "file" is used, then this output buffer will not be used.
Specify whether to use a separate thread for output. Using output thread increases memory usage, but sometimes improves encoding speed.
- parameters
- -1 ... auto (default)
- 0 ... do not use output thread
- 1 ... use output thread
Output the log to the specified file.
Select the level of log output.
-
level
- error ... Display only errors
- warn ... Show errors and warnings
- info ... Display general encoding information (default)
- debug ... Output additional information, mainly for debug
- trace ... Output information for each frame (slow)
-
Target
Target category of logs. Will be handled asall
when omitted.- all ... Set all targets.
- app ... Set all targets, except libav, libass, perfmonitor, amf.
- device ... Device initialization.
- core ... Application core logs, including core_progress and core_result
- core_progress ... Progress indicator
- core_result ... Encode result
- decoder ... decoder logs
- input ... File input logs
- output ... File output logs
- vpp ... logs of vpp fitlers
- amf ... logs ofamf library
- opencl ... logs ofopencl
- libav ... internal logs of libav library
- libass ... logs of ass library
- perfmonitor ... logs of perf monitoring
-
Examples
Example: Enable debug messages --log-level debug Example: Show only application debug messages --log-level app=debug Example: Show progress only --log-level error,core_progress=info
additional options for log output.
- parameters
- addtime (default=off)
Add time of to each line of the log.
- addtime (default=off)
FOR DEBUG ONLY! Output debug log for avsw/avhw reader.
FOR DEBUG ONLY! Output debug log for packets read in avsw/avhw reader.
FOR DEBUG ONLY! Output debug log for packets written.
Set thread affinity to the process or threads of the application.
-
target (<string1>) Set target of which thread affinity will be set. Default is "all".
- all ... All targets below.
- process ... whole process.
- main ... main thread
- decoder ... avhw decode thread
- csp ... colorspace conversion threads (CPU)
- input ... input thread
- encoder ... background encoder threads
- output ... output thread
- audio ... audio processing threads
- perfmonitor ... performance monitoring threads
- videoquality ... ssim/psnr/vmaf calculation thread
-
thread affinity (<string2>)
- all ... All cores(no limit)
- pcore ... performance cores (hybrid architecture only)
- ecore ... efficiency cores (hybrid architecture only)
- logical ... logical cores specified by the numbers after "#". (Windows only)
- physical ... physical cores specified by the numbers after "#". (Windows only)
- cachel2 ... cores which share the L2 cache specified by the numbers after "#". (Windows only)
- cachel3 ... cores which share the L3 cache specified by the numbers after "#". (Windows only)
- ... set by 0x (same as "start /affinity")
-
examples
Example: Set process affinity to physical 0,1,2,5,6 cores --thread-affinity process=physical#0-2:5:6 Example: Set process affinity to logical 0,1,2,3 cores --thread-affinity process=0x0f --thread-affinity process=logical#0-3 --thread-affinity process=logical#0:1:2:3 Example: Set performance monitoring thread to efficiency core on hybrid architecture --thread-affinity perfmonitor=ecore Example: Set process affinity to firect CCX on Ryzen CPUs --thread-affinity process=cachel3#0
Set priority to the process or threads of the application. [Windows OS only]
-
target (<string1>) Set target of which thread priority will be set. Default is "all".
- all ... All targets below.
- process ... whole process
- main ... main thread
- decoder ... avhw decode thread
- csp ... colorspace conversion threads (CPU)
- input ... input thread
- encoder ... background encoder threads
- output ... output thread
- audio ... audio processing threads
- perfmonitor ... performance monitoring threads
- videoquality ... ssim/psnr/vmaf calculation thread
-
Priority (<string2>)
- background, idle, lowest, belownormal, normal (default), abovenormal, highest
-
examples
Example: apply belownormal priority to whole process --thread-priority process=belownormal Example: apply belownormal priority to output thread, and background priority to performance monitoring threads --thread-priority output=belownormal,perfmonitor=background
Set power throttling mode to the threads of the application. [Windows OS only]
-
target (<string1>) Set target of which thread power throttling mode will be set. Default is "all".
- all ... All targets below.
- main ... main thread
- decoder ... avhw decode thread
- csp ... colorspace conversion threads (CPU)
- input ... input thread
- encoder ... background encoder threads
- output ... output thread
- audio ... audio processing threads
- perfmonitor ... performance monitoring threads
- videoquality ... ssim/psnr/vmaf calculation thread
-
mode (<string2>)
- unset (default) ... mode will be set automatically depending on the encode target.
- auto ... Let OS decide.
- on ... prefer power efficiency.
- off ... prefer performance.
-
examples
Example: prefer power efficiency in output and performance monitoring threads --thread-throttling output=on,perfmonitor=on Example: prefer performance in main and input threads --thread-throttling main=off,input=off
File which containes a list of options to be used. Line feed is treated as a blank, therefore an option or a value of it should not splitted in multiple lines.
Set the upper limit of transcode speed. The default is 0 (= unlimited).
This could be used when you want to encode multiple stream and you do not want one stream to use up all the power of CPU or GPU.
- examples
Example: Limit maximum speed to 90 fps --max-procfps 90
Tune for lower transcoding latency, but will hurt transcoding throughput. Not recommended in most cases.
Specifies AviSynth DLL location to use. When unspecified, the default AviSynth.dll will be used.
Specifies vapoursynth portable directory to use. Supported on Windows only.
- parameters
-
utf8
Use UTF-8 as the codepage of the process. (Default) -
os
Change the character code of the process to be in the default codepage set in the Operating System.This shall allow AviSynth scripts using non-ASCII characters with legacy codepage to work again.
When this option is set, a copy of the exe file will be created in the same directory of the original exe file, and the manifest file of the copy will be modified using UpdateResourceW API to switch back code page to the default of the OS, and then the copied exe will be run, allowing us to handle the AviSynth scripts using legacy code page.
-
Outputs performance information. You can select the information name you want to output as a parameter from the following table. The default is all (all information).
- parameters
all ... monitor all info cpu_total ... cpu total usage (%) cpu_kernel ... cpu kernel usage (%) cpu_main ... cpu main thread usage (%) cpu_enc ... cpu encode thread usage (%) cpu_in ... cpu input thread usage (%) cpu_out ... cpu output thread usage (%) cpu_aud_proc ... cpu aud proc thread usage (%) cpu_aud_enc ... cpu aud enc thread usage (%) cpu ... monitor all cpu info gpu_load ... gpu usage (%) gpu_clock ... gpu avg clock vee_load ... gpu video encoder usage (%) gpu ... monitor all gpu info queue ... queue usage mem_private ... private memory (MB) mem_virtual ... virtual memory (MB) mem ... monitor all memory info io_read ... io read (MB/s) io_write ... io write (MB/s) io ... monitor all io info fps ... encode speed (fps) fps_avg ... encode avg. speed (fps) bitrate ... encode bitrate (kbps) bitrate_avg ... encode avg. bitrate (kbps) frame_out ... written_frames
Specify the time interval for performance monitoring with --perf-monitor in ms (should be 50 or more). The default is 500.