- コマンドラインの例
- オプションの指定方法
- 表示系オプション
- -h,-? --help
- -v, --version
- --option-list
- --check-hw
- --check-lib
- --check-impl
- --check-features
- --check-features-html [<string>]
- --check-environment
- --check-device
- --check-clinfo
- --check-codecs, --check-decoders, --check-encoders
- --check-profiles <string>
- --check-formats
- --check-protocols
- --check-avdevices
- --check-filters
- --check-avversion
- エンコードの基本的なオプション
- -d, --device <string> or <int>
- -c, --codec <string>
- -o, --output <string>
- -i, --input <string>
- --raw
- --y4m
- --avi
- --avs
- --vpy
- --vpy-mt
- --avsw [<string>]
- --avhw
- --interlace <string>
- --crop <int>,<int>,<int>,<int>
- --frames <int>
- --fps <int>/<int> or <float>
- --input-res <int>x<int>
- --output-res <int>x<int>[,<string>=<string>]
- --input-csp <string>
- --output-csp <string>
- --output-depth <int>
- エンコードモードのオプション
- --icq <int> (ICQ, 固定品質モード: デフォルト 23)
- --la-icq <int> (LA-ICQ, 先行探索付き固定品質モード: デフォルト 23)
- --cqp <int> or <int>:<int>:<int> (CQP, 固定量子化量)
- --cbr <int> (CBR, 固定ビットレート)
- --vbr <int> (VBR, 可変ビットレート)
- --avbr <int> (AVBR, 適応的可変ビットレート)
- --la <int> (LA, 先行探索レート制御, lookahead)
- --la-hrd <int> (LA-HRD, 先行探索レート制御 (HRD互換), lookahead)
- --vcm <int> (VCM, ビデオ会議モード)
- --qvbr <int>, --qvbr-q <int> (QVBR, 品質ベース可変ビットレート)
- --qvbr-qualityで指定した品質(デフォルト 23)をベースに、--qvbrで指定したビットレートでエンコードを行う。
- --fallback-rc
- フレームバッファのオプション
- その他のオプション
- --function-mode <string>
- --fixed-func
- --hyper-mode <string>
- --max-bitrate <int>
- --vbv-bufsize <int>
- --qvbr-quality <int>
- --avbr-unitsize <int>
- --qp-min <int> or <int>:<int>:<int>
- --qp-max <int> or <int>:<int>:<int>
- --qp-offset <int>[:<int>][:<int>]...
- -u, --quality <string>
- --dynamic-rc <int>:<int>:<int><int>,<param1>=<value1>[,<param2>=<value2>],...
- --la-depth <int>
- --la-window-size <int> 0(自動)
- --la-quality <string>
- --tune <string>[,<string>]...
- --scenario-info <string>
- --extbrc
- --mbbrc
- --i-adapt
- --b-adapt
- --strict-gop
- --gop-len <int>
- --open-gop
- -b, --bframes <int> [H.264/HEVC/MPEG2]
- --gop-ref-dist <int>
- --ref <int>
- --b-pyramid
- --weightb
- --weightp
- --direct-bias-adjust
- --adapt-ref
- --adapt-ltr
- --adapt-cqm
- --mv-scaling <string>
- --fade-detect
- --slices <int>
- --level <string>
- --profile <string>
- --tier <string>
- --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のみ]
- --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>]...
- --aud
- --pic-struct
- --buf-period
- --repeat-headers
- --no-repeat-headers
- --bluray [H.264のみ]
- --repartition-check
- --trellis <string> [H.264のみ]
- --intra-refresh-cycle <int>
- --max-framesize <int>
- --max-framesize-i <int>
- --max-framesize-p <int>
- --no-deblock
- --tskip
- --sao <string>
- --ctu <int>
- --hevc-gpb
- --no-hevc-gpb
- --tile-row <int>
- --tile-col <int>
- --ssim
- --psnr
- 入出力 / 音声 / 字幕などのオプション
- --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 [<int>?]<string> or [<int>?]<string>=<string>
- --audio-copy [<int/string>;[,<int/string>]...]
- --audio-codec [[<int/string>?]<string>[:<string>=<string>[,<string>=<string>]...]...]
- --audio-bitrate [<int/string>?]<int>
- --audio-quality [<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>
- --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
- --sub-source <string>[:{<int>?}[;<param1>=<value1>]...]...
- --sub-copy [<int/string>;[,<int/string>]...]
- --sub-disposition [<int/string>?]<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>
- --timestamp-passthrough
- --timecode [<string>]
- --tcfile-in <string>
- --timebase <int>/<int>
- --input-hevc-bsf <string>
- --allow-other-negative-pts
- vppオプション
- vppフィルタの適用順
- --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-deinterlace <string>
- --vpp-decimate [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-mpdecimate [<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-denoise <int> or [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-image-stab <string>
- --vpp-mctf [ "auto" or <int> ]
- --vpp-subburn [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-libplacebo-shader [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-resize <string>
- --vpp-resize-mode <string>
- --vpp-unsharp [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-edgelevel [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-warpsharp [<param1>=<value1>[,<param2>=<value2>]...]
- --vpp-detail-enhance <int>
- --vpp-rotate <int>
- --vpp-transform [<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-overlay [<param1>=<value1>][,<param2>=<value2>],...
- --vpp-perc-pre-enc
- --vpp-perf-monitor
- 制御系のオプション
- -a, --async-depth <int>
- --input-buf <int>
- --output-buf <int>
- --mfx-thread <int>
- --gpu-copy
- --output-thread <int>
- --min-memory
- --(no-)timer-period-tuning
- --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>
- --benchmark <string>
- --bench-quality "all" or <int>[,<int>]...
- --max-procfps <int>
- --avoid-idle-clock <string>[=<float>]
- --lowlatency
- --avsdll <string>
- --vsdir <string> [Windows専用]
- --process-codepage <string>
- --task-perf-monitor
- --perf-monitor [<string>[,<string>]...]
- --perf-monitor-interval <int>
QSVEncC.exe [Options] -i <filename> -o <filename>
QSVEncC --avhw -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"
QSVEncC --avhw --interlace tff -i "<mp4(H.264/AVC) file>" -o "<outfilename.264>"
QSVEncC -i "<avsfile>" -o "<outfilename.264>"
avs2pipemod -y4mp "<avsfile>" | QSVEncC --y4m -i - -o "<outfilename.264>"
ffmpeg -y -i "<ソース動画>" -an -pix_fmt yuv420p -f yuv4mpegpipe - | QSVEncC --y4m -i - -o "<outfilename.264>"
--> "nut"フォーマットでくるんで受け渡しするとよいでしょう
ffmpeg -y -i "<input>" <options for ffmpeg> -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -f nut - | QSVEncC --avsw -i - --audio-codec aac -o "<outfilename.mp4>"
H.264/ESで出力し、mp4に格納したり、AAC音声とmuxする場合には、L-SMASHを使って、
muxer.exe -i "<raw H.264/ES file>" -i "<ADTS-AAC>" -o "<muxed mp4 file>"
としてAAC音声と多重化できます。音声がALACの場合には、
muxer.exe -i "<raw H.264/ES file>" -o "<video mp4file>"
remuxer.exe -i "<video mp4file>" -i "<m4a(ALAC in mp4)file>" -o "<muxed mp4 file>"
のように2段階のステップが必要です。
同様にmkvtoolnixに含まれるmkvmergeでmuxし、mkvに格納することもできます。
-<短縮オプション名>、--<オプション名> <引数>
引数なしの場合は単体で効果を発揮。
引数のタイプは
- なし
- <int> 整数で指定
- <float> 小数点で指定
- <string> 文字列で指定
引数の [ ] { } 内は、省略可能です。
"..." は繰り返し意味します。
--(no-)xxx
と付いている場合は、--no-xxxとすることで、--xxxと逆の効果を得る。
例1: --xxx : xxxを有効にする → --no-xxx: xxxを無効にする
例2: --xxx : xxxを無効にする → --no-xxx: xxxを有効にする
ヘルプの表示
バージョンの表示
オプションリストの表示。
ハードウェアエンコの可否の表示。
インストールされているMedia SDKのAPIバージョンの表示。
インストールされているVPLのAPIバージョンの表示。
QSVEncの使用可能なエンコード機能を表示する。
QSVEncの使用可能なエンコード機能情報を指定したファイルにhtmlで出力する。 特に指定がない場合は、"qsv_check.html"に出力する。
QSVEncCの認識している環境情報を表示
QSVを利用可能なデバイスを表示
OpenCLの情報を表示
利用可能な音声コーデック名を表示
指定したコーデックの利用可能な音声プロファイル名を表示
利用可能な出力フォーマットを表示
利用可能なプロトコルを表示
利用可能なデバイス(libavdeviceのデバイス)を表示
利用可能な音声フィルタを表示
dllのバージョンを表示
使用するデバイス番号の指定 (auto(デフォルト), 1, 2, 3, ...)
エンコードするコーデックの指定
- h264 (デフォルト)
- hevc
- mpeg2
- vp9
- av1
- raw
出力ファイル名の表示、"-"でパイプ出力
入力ファイル名の設定、"-"でパイプ入力
QSVEncの入力方法は下の表のとおり。入力フォーマットをしてしない場合は、拡張子で自動的に判定される。
使用される読み込み | 対象拡張子 |
---|---|
Avisynthリーダー | avs |
VapourSynthリーダー | vpy |
aviリーダー | avi |
y4mリーダー | y4m |
rawリーダー | yuv |
avhw/avswリーダー | それ以外 |
入力方法の対応色空間 | yuv420 | yuy2 | yuv422(*) | yuv444 | rgb24 | rgb32 |
---|---|---|---|---|---|---|
raw | ◎ | ◎ | ◎ | |||
y4m | ◎ | ◎ | ◎ | |||
avi | ○ | ○ | ○ | ○ | ||
avs | ◎ | ○ | ◎ | ◎ | ||
vpy | ◎ | ◎ | ◎ | |||
avhw | ◎ | |||||
avsw | ◎ | ◎ | ◎ | ○ | ○ |
(*) yuv422はLinuxでは非対応となります。
◎ … 8bit / 9bit / 10bit / 12bit / 14bit / 16bitに対応
○ … 8bitのみ対応
無印 ... 非対応
入力をraw形式に設定する。 入力解像度、入力fpsの設定が必要。
入力をy4m(YUV4MPEG2)形式として読み込む。
入力ファイルをaviファイルとして読み込む。
入力ファイルをAvisynthで読み込む。
QSVEncCはデフォルトではUTF-8モードで動作するため、AvisynthスクリプトはUTF-8(BOM無し)とする必要がある。 一般的なShiftJISがデフォルトの文字コードとなっている環境で、従来のShiftJISのスクリプトを使用する場合には、 "--process-codepage os" オプションを追加して、モードを切り替えてください。
入力ファイルをVapourSynthで読み込む。vpy-mtはマルチスレッド版。
avformat + sw decoderを使用して読み込む。ffmpegの対応するほとんどのコーデックを読み込み可能。
追加のパラメータで使用するデコーダ名を指定可能。特に指定のない場合、デコーダは自動的に選択される。
avformat + QSV decoderを使用して読み込む。 デコードからエンコードまでを一貫してGPUで行うため高速。
コーデック | 対応状況 |
---|---|
MPEG1 | ○ |
MPEG2 | ○ |
H.264/AVC | ○ |
H.265/HEVC | ○ |
VP8 | × |
VP9 | ○ |
AV1 | ○ |
VC-1 | × |
WMV3/WMV9 | × |
入力フレームがインターレースかどうかと、そのフィールドオーダーを設定する。
- パラメータ
- none ... プログレッシブ
- tff ... トップフィールドファースト
- bff ... ボトムフィールドファースト
- auto ... 自動検出
左、上、右、下の切り落とし画素数。
読み込むフレーム数。 (注: 入力ベースである点に注意、出力ベースではない)
--rawを使用した時の入力フレームレートの設定。--raw以外での使用は非推奨。
raw形式の場合のみ有効で、その他の場合は無視されるか、fps推定のヒントとしてのみ扱われる。
入力解像度の設定。raw形式の場合は必須。
出力解像度の設定。入力解像度と異なる場合、自動的にHW/GPUリサイズを行う。
指定がない場合、入力解像度と同じになり、リサイズは行われない。
-
特殊な値について
- 0 ... 入力解像度と同じ
- 縦横のどちらかを負の値
アスペクト比を維持したまま、片方に合わせてリサイズ。ただし、その負の値で割り切れる数にする。
-
パラメータ
- preserve_aspect_ratio=<string>
指定解像度(指定枠)の縦横どちらかに合うよう、入力アスペクト比を維持しながらリサイズする。- increase ... 拡大してアスペクト比を維持する (指定枠に外接するよう調整)
- decrease ... 縮小してアスペクト比を維持する (指定枠に収めるように調整)
- ignore_sar=<bool>
負の値で自動リサイズする際、入出力のSAR比を無視して計算する。デフォルトでは無効(false)。
- preserve_aspect_ratio=<string>
-
使用例
例: 入力が1280x720の場合 --output-res 1024x576 -> 通常の指定方法 --output-res 960x0 -> 960x720にリサイズ (0のほうは720のまま) --output-res 1920x-2 -> 1920x1080にリサイズ (アスペクト比が維持できるように調整) --output-res 1440x1440,preserve_aspect_ratio=increase -> 2560x1440にリサイズ --output-res 1440x1440,preserve_aspect_ratio=decrease -> 1440x810にリサイズ
raw読み込み時の入力色空間の設定。デフォルトはyv12。
yv12, nv12, p010, yuv420p9le, yuv420p10le, yuv420p12le, yuv420p14le, yuv420p16le
yuv422p, yuv422p9le, yuv422p10le, yuv422p12le, yuv422p14le, yuv422p16le
yuv444p, yuv444p9le, yuv444p10le, yuv444p12le, yuv444p14le, yuv444p16le
出力色空間の設定。デフォルトは yuv420。
yuv420, yuv422, yuv444, rgb
出力ビット深度の設定。 デフォルトは 8。
8, 10
デフォルトはICQ(固定品質モード)。
固定品質系のモード。設定値は低い値ほど高品質になる。
CQP(固定量子化量)でエンコードを行う。<Iフレーム>:<Pフレーム>:<Bフレーム>のQP値を設定。 設定値は低い値ほど高品質になる。 基本的にQP値は I < P < B になるように設定することをおすすめ。
ビットレートをkbps単位で指定してエンコードを行う。 AVBRはAPI v1.3以降で、より柔軟なビットレート配分が行える。 Lookaheadは更に多くのフレームをあらかじめ解析し、より最適なビットレート配分を行う。
設定値は低い値ほど高品質になる。
使用できないレート制御モードが指定された場合に、エラー終了するのではなく、自動的により一般的にサポートされるレート制御モードにフォールバックする。ビットレート指定系なら最終的にVBRを、品質指定系なら最終的にCQPを使用する。
エンコードモードの選択について CBR/VBR/AVBRなどのモードは高速なかわりに画質が悪い傾向があり、容量を喰うところで映像が破綻しやすい。 画質を維持しながらエンコードするには、なるべく固定品質系や先行探索レート制御系のオプション(ICQ, LA-ICQ, QVBR, LA等)を使用したほうが良いと思う。 ある程度容量が膨れてもよい場合には、低めのQP値に指定したCQPモードが高速でよいかもしれない。
ただし、特定機器用エンコード、例えばBD用エンコードのような、 上限ビットレートを気にする場合があるときには、最大ビットレートを指定可能なVBR/CBRモードを使用する必要がある。
フレームバッファの種類
OS | システムメモリ | ビデオメモリ |
---|---|---|
Windows | system | d3d9 / d3d11 |
Linux | system | va |
フレームバッファの種類の決定は、デフォルトでは下記のように自動で行われる。
Windows
QSVエンコード使用時:
特に指定のない場合、dGPUありでも利用可能なd3d11を使用する。
QSVエンコードを使用しない場合 (デコードのみの場合):
ビデオメモリはQSVでの処理は高速だが、そのフレームをCPU側に転送するのが非常に遅い。このため、エンコードをせず、デコードやVPPの結果を他のアプリケーションに渡す場合、systemメモリを使用する。
Linux
安定性確保のため、systemメモリを使用する。
ハードウェアエンコ時にバッファとしてビデオメモリでなく、CPU側のメモリを使用する。このモードではOpenCLフィルタを使用できない点に注意。
d3d9 または d3d11 ビデオメモリを使用する。 (Windows)
d3d9ビデオメモリを使用する。 (Windows)
d3d11ビデオメモリを使用する。 (Windows)
vaビデオメモリを使用する。(Linux)
QSVの動作モードを選択。
- パラメータ
-
auto (default)
適切なものを自動的に選択。 -
PG
部分的にGPU EUを使用したエンコードを行う。 -
FF
エンコードの全工程で固定回路(Fixed Func)を使用し、完全HWエンコを行う。 GPUに負荷をかけることなく、低電力でエンコード可能。使用可能な機能がPGと異なる場合がある。
-
--function-mode FF
に同じ。
Intel Deep Linkを活用し、Intelの内蔵GPU(iGPU)と外部GPU(dGPU)を使用したエンコードの高速化(Hyper Encode)を使用する。
エンコード設定が両方のGPUで共通で使用できるものとする必要があり、この制約により一部のオプションが自動的に無効になることがある点に注意。
- パラメータ
-
off (default)
-
on
オプション調整等を行い、可能な限りHyper Encodeを使用します。 -
adaptive
オプション調整等はせず、可能な場合にHyper Encodeを使用します。
-
最大ビットレート(kbps単位)。
VBVバッファサイズ (kb単位).
--qvbr使用時の品質の指定。--qvbrと併せて使用する。 (0 - 51, default = 23)
AVBRモード時のビットレート配分単位を、100フレーム単位で指定する。デフォルトは90(=9000フレーム)。Intel Media SDKにもあまり説明がなく、正直よくわからない。
最小QP値を<Iフレーム>:<Pフレーム>:<Bフレーム>で設定する。 ビットレート指定のエンコードモード使用時のみ有効。設定したQP値より低いQP値は使用されなくなる。
ビットレート指定モードなどで、静止画などの部分で過剰にビットレートが割り当てられることがあるのを抑制したりするのに使用する。
最大QP値を<Iフレーム>:<Pフレーム>:<Bフレーム>設定する。 ビットレート指定のエンコードモード使用時のみ有効。設定したQP値より高いQP値は使用されなくなる。
指定したビットレートを超えてでも、動画のどんな部分でもある程度の品質を維持したい場合に使用する。
ピラミッド参照の階層ごとに使用するQPのオフセットを指定する。(デフォルト = 0)
例:ピラミッド参照の第1層目のQPを+1、 第2層目を+2。
--qp-offset 1:2
エンコード品質と速度のバランスの設定。速度重視か画質重視かを決める。数字でもOKで、bestが1で、fastestが7。
best, higher, high, balanced(default), fast, faster, fastest
"開始フレーム番号:終了フレーム番号"で指定した出力フレーム番号について、レート制御のパラメータを変更する。指定可能なパラメータは各レート制御モードと、最大ビットレート、目標品質(qvbr-quality)。
-
必須パラメータ 下記パラメータのうち、必ずひとつは指定が必要。
-
追加パラメータ
- max-bitrate=<int>
- qvbr-quality=<int>
-
Examples
例1: 出力フレーム番号 3000-3999 の間はvbrの12000kbpsでエンコード、 出力フレーム番号 5000-5999 の間は固定品質の29.0でエンコードし、 その他の領域は固定品質の25.0でエンコードする。 --icq=25 --dynamic-rc 3000:3999,vbr=12000 --dynamic-rc 5000:5999,icq=29 例2: 出力フレーム番号 3000までは、vbrの6000kbpsでエンコードし、 出力フレーム番号 3000以降はvbrの12000kbpsでエンコードする。 --vbr 6000 --dynamic-rc start=3000,vbr=12000
先行探索レート制御を使用した場合に、あらかじめ分析するフレームの枚数を指定する。(10-100)
インタレ保持の場合には、上限は半分の50となる。
先行探索レート制御使用時の、上限ビットレートの計算幅をフレームの枚数で指定する。--max-bitrateと組み合わせて使用する。
先行探索の品質を設定する。slowになるほど遅くなるが品質が向上する。 mediumやfastでは、先行探索を縮小されたフレームで行い、高速に処理する。
- auto (default)
- fast ... x1/4の解像度で高速な分析を行う。
- medium ... x1/2の解像度で分析を行う。
- slow ... 等倍のフレームで高品質な分析を行う。
エンコード品質をチューニングする。
- parameters
- default
- psnr
- ssim
- ms_ssim
- vmaf
- perceptual
エンコード対象のシーンを指定し、各シーンに合わせたビットレートの最適化を行う。
- unknown (default)
- display_remoting
- video_conference
- archive
- live_streaming
- camera_capture
- video_surveillance
- game_streaming
- remote_gaming
ExtBRCを有効にする。--adapt-ltrに必要。
マクロブロック単位でのレート制御を有効にする。デフォルトでは"-u"オプションに従い自動的にオン/オフが切り替わる。
適応的なIフレーム挿入を有効化する。
適応的なBフレーム挿入を有効化する。
固定GOP長を強制する。
最大GOP長。
オープン GOPを使用する。
連続Bフレーム数。
oneVPLでは、GopRefDist - 1 に相当する。
GopRefDistパラメータを設定する。1 より大きい値で指定する。
oneVPLでは、H.264/HEVC/MPEGエンコードにおいて Bフレーム数+1 に相当する。
参照距離を設定する。QSVEncではあまり増やしても品質は向上しない。
Bフレームピラミッド参照を有効にする。
重み付きBフレームを使用する。
重み付きPフレームを使用する。
B frame Direct/Skipの使用を最適化する。
適応的に最適な参照フレームを選択し、エンコード品質の向上を図る。
Adaptive LTRを有効にする。
各フレームごとに適応的に量子化テーブルを選択し、主に特定条件下で主観品質の向上を図る。
動きベクトルのコストの調整。
- 0 ... 動きベクトルのコストを0として見積もる
- 1 ... 動きベクトルのコストをx1/2として見積もる
- 2 ... 動きベクトルのコストをx1/4として見積もる
- 3 ... 動きベクトルのコストをx1/8として見積もる
フェード検出を有効にする。
スライス数。指定なし、あるいは0で自動。
エンコードするコーデックのLevelを指定する。指定しない場合は自動的に決定される。
h264: auto, 1, 1b, 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, 6, 6.1, 6.2
hevc: auto, 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2
mpeg2: auto, low, main, high, high1440
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
エンコードするコーデックのプロファイルを指定する。指定しない場合は自動的に決定される。
h264: auto, baseline, main, high
hevc: auto, main, main10
mpeg2: auto, Simple, Main, High
vp9: 0, 1, 2, 3
av1: auto, main, high, pro
コーデックのtierを指定する。
hevc: main, high
SAR比 (画素アスペクト比) の指定。
DAR比 (画面アスペクト比) の指定。
"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)
limited, full, auto
undef, ntsc, component, pal, secam, mac
"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)
undef, auto, bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR, bt2020nc, bt2020c
"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)
undef, auto, bt709, smpte170m, bt470m, bt470bg, smpte240m, film, bt2020
"auto"を指定することで、入力ファイルの値をそのまま反映できます。(avhw/avsw読み込みのみ)
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
出力データのchroma location flagを 0 ~ 5 の範囲で指定する。
デフォルト = 0 (unspecified)
MaxCLL and MaxFall を nits で指定する。"copy"とすると入力ファイルの値を出力ファイルにそのまま設定します。(avhw/avsw読み込みのみ)
--repeat-headersが自動的に有効になる点に注意してください。
例1: --max-cll 1000,300
例2: --max-cll copy # 入力ファイルから値をコピー
Mastering display data の設定。"copy"とすると入力ファイルの値を出力ファイルにそのまま設定します。(avhw/avsw読み込みのみ)
--repeat-headersが自動的に有効になる点に注意してください。
例1: --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
例2: --master-display copy # 入力ファイルから値をコピー
Alternative transfer characteristics SEI の設定。下記文字列または整数で指定する。
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
指定したjsonファイルから、HDR10+のメタデータを読み込んで反映する。実行には追加でhdr10plus_gen.exeが必要。
HDR10+のメタデータを入力ファイルからそのままコピーします。 avhw読み込みでは、フレームの並び替えにタイムスタンプを使用するため、タイムスタンプの取得できないraw ESのような入力ファイルでは使用できません。 こうした場合には、avsw読み込みを使用してください。
指定されたdolby visionプロファイルを適用します。--dolby-vision-rpuとの併用が推奨です。
"copy" は、入力ファイルのdolby visionプロファイルを適用します。 (avhw/avsw読み込みのみ)
unset, copy, 5.0, 8.1, 8.2, 8.4, 10.0, 10.1, 10.2, 10.4
指定のrpuファイルに含まれるdolby visionのmetadataを出力ファイルに挿入します。--dolby-vision-profileとの併用が推奨です。
HEVCの入力ファイルから読み取ったdolby visionのmetadataを出力ファイルに挿入します。 --dolby-vision-profileとの併用が推奨です。
avhw読み込みでは、フレームの並び替えにタイムスタンプを使用するため、タイムスタンプの取得できないraw ESのような入力ファイルでは使用できません。 こうした場合には、avsw読み込みを使用してください。
--dolby-vision-rpu
用のパラメータを指定する。
-
パラメータ
-
crop=<bool>
RPUのactive area offsetsを0に設定する (レターボックスなしの意味)。
-
-
使用例
例: --dolby-vision-rpu-prm crop=true
Access Unit Delimiter NALを挿入する。
picture timing SEIを挿入する。
buffering period SEIを挿入する。
ヘッダを定期的に挿入する。
ヘッダの定期的な挿入を無効化する。ただし、他のPPSの定期的な挿入を必要とするオプションを使用した場合、本オプションは無視される。
Bluray用出力を行う。(デフォルト: オフ)
Bluray互換となるよう、一部の内部パラメータを自動的に調整する。BD用エンコードの場合は必須。また、ビットレート指定系のエンコモードしか使用できない(CQP/VQPは使用できない)。
小さなpartitionからの予測を有効にする。 [H.264のみ]
H.264の歪みレート最適化の適用範囲を指定する。
- auto(default)
- off
- i
- ip
- all
周期的イントラ更新を有効にし、更新を行うフレームの周期を指定する。
デフォルトは 0 (=無効) で、周期的イントラ更新を有効にする場合は2以上の値を指定する。
フレームの最大サイズの指定(byte単位)。
--max-framesize-iはIフレームに対する指定、--max-framesize-pはP/Bフレームに対する指定。
H.264のデブロックフィルタを無効化する。[H.264]
transform skip の有効化。[HEVC]
SAOのモードの切り替え。 [HEVC]
- auto ... デフォルト
- none ... SAOの無効化
- luma ... 輝度成分についてSAOを使用
- chroma ... 色差成分についてSAOを使用
- all ... 輝度 & 色差成分についてSAOを使用
エンコードで使用するctuサイズの最大値を指定。16, 32, 64のいずれか。 [HEVC]
HEVCエンコードでPフレームとしてGPBを使用します。
HEVCエンコードでPフレームとしてGPBの代わりに通常のPフレームを使用します。
エンコード時の分割タイルの行数。 [AV1]
エンコード時の分割タイルの列数。 [AV1]
エンコード結果のSSIMを計算。
エンコード結果のPSNRを計算。
libavが読み込み時に解析するファイルの時間を秒で指定。デフォルトは5。 音声トラックなどが正しく抽出されない場合、この値を大きくしてみてください(例:60)。
libavが読み込み時に解析する最大のサイズをbyte単位で指定。
指定した範囲のフレームのみをエンコードする。
- 使用例
例1: --trim 0:1000,2000:3000 (0~1000フレーム目, 2000~3000フレーム目をエンコード) 例2: --trim 2000:0 (2000~最終フレームまでをエンコード)
書式は、hh:mm:ss.ms。"hh"や"mm"は省略可。 高速だが不正確なシークをしてからエンコードを開始する。正確な範囲指定を行いたい場合は--trimで行う。
- 使用例
例1: --seek 0:01:15.400 例2: --seek 1:15.4 例3: --seek 75.4
書式は、hh:mm:ss.ms。"hh"や"mm"は省略可。 エンコードの終了時刻を指定する。正確な範囲指定を行いたい場合は--trimで行う。
- 使用例
例1: --seekto 0:01:15.400 例2: --seekto 1:15.4 例3: --seekto 75.4
avhw/avswリーダー使用時に、入力のフォーマットを指定する。
muxerに出力フォーマットを指定して出力する。
出力フォーマットは出力拡張子から自動的に決定されるので、通常、特に指定する必要はないが、このオプションで出力フォーマットを強制できる。
使用可能なフォーマットは--check-formatsで確認できる。H.264/HEVCをElementary Streamで出力する場合には、"raw"を指定する。
エンコード対象の映像トラックの選択。avsw/avhwリーダー使用時のみ有効。
- 1 ... 最も高解像度の映像トラック (デフォルト)
- 2 ... 2番目に高解像度の映像トラック ...
- -1 ... 最も低解像度の映像トラック
- -2 ... 2番目に低解像度の映像トラック
エンコード対象の映像トラックをstream idで選択。
映像のcodec tagの指定。
- 使用例
-o test.mp4 -c hevc --video-tag hvc1
映像トラックのmetadataを指定する。
-
copy ... 入力ファイルからmetadataをコピーする。
-
clear ... do not copy metadata (デフォルト)
-
使用例
例1: 入力ファイルからmetadataをコピー --video-metadata 1?copy 例2: 入力ファイルからのmetadataのコピーを行わない --video-metadata 1?clear 例3: 指定のmetadataを設定する --video-metadata 1?title="音声の タイトル" --video-metadata 1?language=jpn
音声をそのままコピーしながら映像とともに出力する。avhw/avswリーダー使用時のみ有効。
tsなどでエラーが出るなどしてうまく動作しない場合は、--audio-codecで一度エンコードしたほうが安定動作するかもしれない。
[<int>[,<int>]...]で、抽出する音声トラック(1,2,...)を指定したり、[<string>]で指定した言語の音声トラックをコピーすることもできる。
- 使用例
例: 全ての音声トラックを抽出 --audio-copy 例: トラック番号#1,#2を抽出 --audio-copy 1,2 例: 日本語と英語の音声トラックを抽出 --audio-copy jpn,eng
音声をエンコードして映像とともに出力する。使用可能なコーデックは--check-encodersで確認できる。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
さらに、[<string>=<string>]の形式で、音声エンコーダのオプションを指定することもできる。
- 使用例
例1: 音声をmp3に変換 --audio-codec libmp3lame 例2: 音声の第2トラックをaacに変換 --audio-codec 2?aac 例3: 日本語の音声をaacに変換 --audio-codec jpn?aac 例4: 日本語と英語の音声をaacに変換 --audio-codec jpn?aac --audio-codec eng?aac 例5: aacエンコーダのパラメータ"aac_coder"に低ビットレートでより高品質な"twoloop"を指定 --audio-codec aac:aac_coder=twoloop
音声をエンコードする際のビットレートをkbpsで指定する。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
- 使用例
例1: --audio-bitrate 192 (音声を192kbpsで変換) 例2: --audio-bitrate 2?256 (音声の第2トラックを256kbpsで変換)
音声をエンコードする際の品質を指定する。値は使用するコーデックに依存する。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
音声をエンコードする際、そのプロファイルを指定する。
音声チャンネルの分離・統合などを行う。 --audio-streamが指定された音声トラックは常にエンコードされる。(コピー不可) ,(カンマ)で区切ることで、入力の同じトラックから複数のトラックを生成できる。
-
書式
<int>に処理対象のトラックを指定する。<string1>に入力として使用するチャンネルを指定する。省略された場合は入力の全チャンネルを使用する。
<string2>に出力チャンネル形式を指定する。省略された場合は、<string1>のチャンネルをすべて使用する。
-
使用例
例1: --audio-stream FR,FL デュアルモノから左右のチャンネルを2つのモノラル音声に分離する。 例2: --audio-stream :stereo どんな音声もステレオに変換する。 例3: --audio-stream 2?5.1,5.1:stereo 入力ファイルの第2トラックを、5.1chの音声を5.1chとしてエンコードしつつ、ステレオにダウンミックスしたトラックを生成する。 実際に使うことがあるかは微妙だが、書式の紹介例としてはわかりやすいかと。
-
使用できる記号
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
音声のサンプリング周波数をHzで指定する。 [<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
- 使用例
例1: --audio-bitrate 44100 (音声を44100Hzに変換) 例2: --audio-bitrate 2?22050 (音声の第2トラックを22050Hzに変換)
音声チャンネルのmixやサンプリング周波数変換に使用されるエンジンの指定。
- swr ... swresampler (デフォルト)
- soxr ... sox resampler (libsoxr)
音声に設定する遅延をms単位で指定する。[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
指定したパスに音声を抽出する。出力フォーマットは出力拡張子から自動的に決定する。avhw/avswリーダー使用時のみ有効。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
- 使用例
例: test_out2.aacにトラック番号#2を抽出 --audio-file 2?"test_out2.aac"
[<string>]では、出力フォーマットを指定することができる。
- 使用例
例: 拡張子なしでもadtsフォーマットで出力 --audio-file 2?adts:"test_out2"
音声に音声フィルタを適用する。適用可能なフィルタはこちら。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
- 使用例
例1: --audio-filter volume=0.2 (音量を下げる例) 例2: --audio-filter 2?volume=-4db (第2トラックの音量を下げる例)
音声のdispositionを指定する。
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
-
指定可能なdisposition
default dub original comment lyrics karaoke forced hearing_impaired visual_impaired clean_effects attached_pic captions descriptions dependent metadata copy
-
使用例
例: --audio-disposition 2?default,forced
音声トラックのmetadataを指定する。
- copy ... 入力ファイルからmetadataをコピーする。 (デフォルト)
- clear ... do not copy metadata
[<int>]で音声トラック(1,2,...)を選択したり、[<string>]で指定した言語の音声トラックを選択することもできる。
- 使用例
例1: 入力ファイルからmetadataをコピー --audio-metadata 1?copy 例2: 入力ファイルからのmetadataのコピーを行わない --audio-metadata 1?clear 例3: 指定のmetadataを設定する --audio-metadata 1?title="音声の タイトル" --audio-metadata 1?language=jpn
音声トラックにbitstream filterを適用する。使用可能なフィルタは、こちらの中から選択可能。
指定した連続する音声のデコードエラーの数をカウントし、閾値以内ならエラーを無視して処理を継続し、エラーの箇所は無音に置き換える。
デフォルトは10。 0とすれば、1回でもデコードエラーが起これば処理を中断してエラー終了する。
外部音声ファイルをmuxする。
-
ファイルのパラメータ
-
format=<string>
入力ファイルのフォーマットを指定する。 -
input_opt=<string>
入力ファイル用のオプションを指定する。
-
-
トラックのパラメータ
-
copy
音声トラックをそのままコピーする。 -
codec=<string>
音声トラックを指定のコーデックにエンコードする。 -
profile=<string>
音声エンコード時のプロファイルを指定する。 -
bitrate=<int>
音声エンコード時のビットレートをkbps単位で指定する。 -
samplerate=<int>
音声エンコード時のサンプリングレートをHz単位で指定する。 -
delay=<int>
音声を指定した時間遅延させる。(ms単位) -
dec_prm=<string>
音声デコード時のパラメータを指定する。 -
enc_prm=<string>
音声エンコード時のパラメータを指定する。 -
filter=<string>
音声エンコード時のフィルタを指定する。 -
disposition=<string>
音声のdispositionを指定する。 -
metadata=<string1>=<string2>
音声のmetadataを指定する。 -
bsf=<string>
音声に適用するbitstream filterを指定する。
-
-
使用例
例1: --audio-source "<audio_file>:copy" 例2: --audio-source "<audio_file>:codec=aac" 例3: --audio-source "<audio_file>:1?codec=aac;bitrate=256/2?codec=aac;bitrate=192;metadata=language=jpn;disposition=default,forced" 例4: --audio-source "hw:1:format=alsa/codec=aac;bitrate=256"
指定したチャプターファイルを読み込み反映させる。 nero形式、apple形式、matroska形式に対応する。--chapter-copyとは併用できない。
-
nero形式
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形式 (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形式 (UTF-8であること)
その他のサンプル>><?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>
チャプターをコピーする。
チャプター読み込みの際、trimを反映させず、そのまま適用する。
指定のファイルから字幕を読み込みmuxする。
-
ファイルのパラメータ
-
format=<string>
入力ファイルのフォーマットを指定する。 -
input_opt=<string>
入力ファイル用のオプションを指定する。
-
-
トラックのパラメータ
-
disposition=<string>
字幕のdispositionを指定する。 -
metadata=<string1>=<string2>
字幕のmetadataを指定する。 -
bsf=<string>
字幕に適用するbitstream filterを指定する。
-
-
使用例
例1: --sub-source "<sub_file>" 例2: --sub-source "<sub_file>:disposition=default,forced;metadata=language=jpn"
字幕をコピーする。avhw/avswリーダー使用時のみ有効。
[<int>[,<int>]...]で、抽出する字幕トラック(1,2,...)を指定したり、[<string>[,<string>]...]で指定した言語の字幕トラックをコピーすることもできる。
対応する字幕は、PGS/srt/txt/ttxtなど。
- 使用例
例: 全ての字幕トラックをコピー --sub-copy 例: 字幕トラック #1と#2をコピー --sub-copy 1,2 例: 日本語と英語の音声トラックを抽出 --sub-copy jpn,eng
字幕のdispositionを指定する。
- 指定可能なdisposition
default dub original comment lyrics karaoke forced hearing_impaired visual_impaired clean_effects attached_pic captions descriptions dependent metadata copy
字幕トラックのmetadataを指定する。
-
copy ... 入力ファイルからmetadataをコピーする。 (デフォルト)
-
clear ... do not copy metadata
-
使用例
例1: 入力ファイルからmetadataをコピー --sub-metadata 1?copy 例2: 入力ファイルからのmetadataのコピーを行わない --sub-metadata 1?clear 例3: 指定のmetadataを設定する --sub-metadata 1?title="字幕の タイトル" --sub-metadata 1?language=jpn
字幕トラックにbitstream filterを適用する。使用可能なフィルタは、こちらの中から選択可能。
データストリームをコピーする。avhw/avswリーダー使用時のみ有効。
attachmentストリームをコピーする。avhw/avswリーダー使用時のみ有効。
指定のファイルを読み込み、attachmentとしてmuxする。
-
params
- metadata=<string1>=<string2>
attachmentのmetadataの指定。特に、mimetypeの指定は必須。
- metadata=<string1>=<string2>
-
使用例
例1: --attachment-source <png_file>:metadata=mimetype=image/png 例2: --attachment-source <font_file>:metadata=mimetype=application/x-truetype-font
avsw/avhwでの読み込み時にオプションパラメータを渡す。<string1>にオプション名、<string2>にオプションの値を指定する。
- 使用例
例: Blurayのplaylist 1を読み込み -i bluray:D:\ --input-option playlist:1
mux時にオプションパラメータを渡す。<string1>にオプション名、<string2>にオプションの値を指定する。
- 使用例
例: HLS用の出力 -i <input> -o test.m3u8 -f hls -m hls_time:5 -m hls_segment_filename:test_%03d.ts --gop-len 30 例: "default"として設定されている字幕トラックがない場合に、自動的に"default"が付与されるのを抑止しする (mkvのみ) -m default_mode:infer_no_subs
出力ファイルの(グローバルな)metadataを指定する。
-
copy ... 入力ファイルからmetadataをコピーする。 (デフォルト)
-
clear ... do not copy metadata
-
使用例
例1: 入力ファイルからmetadataをコピー --metadata copy 例2: 入力ファイルからのmetadataのコピーを行わない --metadata clear 例3: 指定のmetadataを設定する --metadata title="動画の タイトル" --metadata language=jpn
-
auto (default)
-
forcecfr
入力ptsを見ながら、CFRに合うようフレームの水増し・間引きを行い、音声との同期が維持できるようにする。主に、入力がvfrやRFFなどのときに音ズレしてしまう問題への対策。また、--trimとは併用できない。 -
vfr
入力に従い、フレームのタイムスタンプをそのまま引き渡す。avsw/avhwリーダによる読み込みの時のみ使用可能。
オリジナルのタイムスタンプをそのまま引き渡す。--avsync vfr
が自動的に指定される。
指定のパスにtimecodeファイルを出力する。パスを省略した場合には、"<出力ファイル名>.timecode.txt"に出力する。
timecodeファイルを読み取り、入力フレームのタイムスタンプを設定する。avhw以外の読み込みで使用可能。
時間刻みを設定する。timecodeファイルを読み取り時の時間精度にも使用される。
switch hevc bitstream filter used for hw decoder input. (for debug purpose)
-
パラメータ
-
internal
内蔵の実装を使用する。 (default) -
libavcodec
libavcodec の hevc_mp4toannexb bitstream filter を使用する。
-
音声・字幕において負のtimestampを許容する。原則デバッグ用。
エンコード前にフィルタ処理を追加するオプションです。
vppフィルタの適用順は固定で、コマンドラインの順序によらず下記順番で適用されます。
- フィルター一覧
- --vpp-colorspace
- --vpp-libplacebo-tonemapping
- --vpp-rff
- --vpp-delogo
- --vpp-afs
- --vpp-nnedi
- --vpp-yadif
- --vpp-decomb
- --vpp-deinterlace
- --vpp-decimate
- --vpp-mpdecimate
- --vpp-convolution3d
- --vpp-smooth
- --vpp-denoise-dct
- --vpp-fft3d
- --vpp-nlmeans
- --vpp-knn
- --vpp-pmd
- --vpp-denoise
- --vpp-image-stab
- --vpp-mctf
- --vpp-subburn
- --vpp-libplacebo-shader
- --vpp-resize
- --vpp-unsharp
- --vpp-edgelevel
- --vpp-warpsharp
- --vpp-detail-enhance
- --vpp-transform/rotate
- --vpp-curves
- --vpp-tweak
- --vpp-deband
- --vpp-libplacebo-deband
- --vpp-padding
- --vpp-overlay
- --vpp-perc-pre-enc
色空間変換を行う。x64版のみ使用可能。
パラメータに"input"を指定すると、入力ファイルの値を参照できる。(avhww/avsw読み込みのみ)
-
パラメータ
-
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>
3D LUTを適用する。(.cubeファイルのみの対応) -
lut3d_interp=<string>
nearest, trilinear, tetrahedral, pyramid, prism
-
hdr2sdr=<string>
tone-mappingを指定してHDRからSDRへの変換を行う。-
none (デフォルト)
hdr2sdrの処理を行うない。 -
hable
明部と暗部のディテールの両方をバランスよく保ちながら変換する。(ただし、やや暗めになる) 下記のhable tone-mappingの式のパラメータ(a,b,c,d,e,f)の指定も可能。hable(x) = ( (x * (ax + cb) + de) / (x * (ax + b) + d*f) ) - e/f
output = hable( input ) / hable( (source_peak / ldr_nits) )デフォルト: a = 0.22, b = 0.3, c = 0.1, d = 0.2, e = 0.01, f = 0.3
-
mobius
なるべく画面の明るさやコントラストを維持した変換を行うが、明部のディテールがつぶれる可能性がある。- transition=<float> (デフォルト: 0.3)
線形変換から mobius tone mappingに移行する分岐点。 - peak=<float> (デフォルト: 1.0)
reference peak brightness
- transition=<float> (デフォルト: 0.3)
-
reinhard
- contrast=<float> (デフォルト: 0.5)
local contrast coefficient - peak=<float> (デフォルト: 1.0)
reference peak brightness
- contrast=<float> (デフォルト: 0.5)
-
bt2390
BT.2390で規定されるtone mapping。
-
-
source_peak=<float> (デフォルト: 1000.0)
-
ldr_nits=<float> (デフォルト: 100.0)
-
desat_base=<float> (デフォルト: 0.18)
hdr2sdrで使用されるdesaturation処理のオフセット。 -
desat_strength=<float> (デフォルト: 0.75)
hdr2sdrで使用されるdesaturation処理の強度。0.0では処理が無効化され、1.0では明るい色は白くなる。 -
desat_exp=<float> (デフォルト: 1.5)
hdr2sdrで使用されるdesaturation処理の指数で、どのくらいの明るさから処理が行われるかを制御する。 低めの値では、より積極的に処理が行われる。
-
-
使用例
例1: BT.709(fullrange) -> BT.601 への変換 --vpp-colorspace matrix=smpte170m:bt709,range=full:limited 例2: hdr2sdrの使用 (hable tone-mapping) --vpp-colorspace hdr2sdr=hable,source_peak=1000.0,ldr_nits=100.0 例3: hdr2sdr使用時の追加パラメータの指定例 (下記例ではデフォルトと同じ意味) --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
libplaceboを使用したトーンマッピングを行います。Windowsでのみ対応しています。
-
パラメータ
-
src_csp=<string>
入力の色空間を指定します。auto, sdr, hdr10, hlg, dovi, rgb
-
dst_csp=<string>
出力の色空間を指定します。auto, sdr, hdr10, hlg, dovi, rgb
-
src_max=<float>
入力の最大輝度 (nits)。(デフォルト: 自動、可能なら入力ファイルから情報を取得、できない場合は 1000.0 (HDR) / 203.0 (SDR)) -
src_min=<float>
入力の最小輝度 (nits)。(デフォルト: 自動、可能なら入力ファイルから情報を取得、できない場合は 0.005 (HDR) / 0.2023 (SDR)) -
dst_max=<float>
出力の最大輝度 (nits)。(デフォルト: 自動、可能ならパラメータから情報を取得、できない場合は 1000.0 (HDR) / 203.0 (SDR)) -
dst_min=<float>
出力の最小輝度 (nits)。(デフォルト: 自動、可能ならパラメータから情報を取得、できない場合は 0.005 (HDR) / 0.2023 (SDR)) -
dynamic_peak_detection=<bool>
HDRトーンマッピングの品質を最適化するための統計の計算を有効にします。デフォルト: true -
smooth_period=<float>
スムージング係数。デフォルト: 20.0 -
scene_threshold_low=<float>
シーン変更検出の下限閾値 (dB)。デフォルト: 1.0 -
scene_threshold_high=<float>
シーン変更検出の上限閾値 (dB)。デフォルト: 3.0 -
percentile=<float>
輝度ヒストグラムの考慮するパーセンタイル。デフォルト: 99.995 -
black_cutoff=<float>
黒レベルのカットオフ強度 (PQ%)。デフォルト: 1.0 -
gamut_mapping=<string>
ガンママッピングモード。 (デフォルト: perceptual)clip, perceptual, softclip, relative, saturation, absolute, desaturate, darken, highlight, linear
-
tonemapping_function=<string>
トーンマッピング関数。 (デフォルト: bt2390)clip, st2094-40, st2094-10, bt2390, bt2446a, spline, reinhard, mobius, hable, gamma, linear, linearlight
-
tonemapping_function=st2094-40, st2094-10, splineの場合
-
knee_adaptation=<float> (float, 0.0 - 1.0, デフォルト: 0.4)
PQ空間における入力と出力の平均輝度の比率としてニーポイントを設定します。- 1.0: 常に入力シーンの平均を調整された出力の平均に適応させます
- 0.0: シーンの輝度を一切変更しません
-
knee_min=<float> (0.0 - 0.5, デフォルト: 0.1)
PQ輝度範囲の比率における最小ニーポイント。 -
knee_max=<float> (0.5 - 1.0, デフォルト: 0.8)
PQ輝度範囲の比率における最大ニーポイント。 -
knee_default=<float> (knee_min - knee_max, デフォルト: 0.4)
入力シーンの平均メタデータが利用できない場合に使用されるデフォルトのニーポイント。
-
-
tonemapping_function=bt2390の場合
- knee_offset=<float> (0.5 - 2.0, デフォルト: 1.0)
ニーポイントのオフセット。
- knee_offset=<float> (0.5 - 2.0, デフォルト: 1.0)
-
tonemapping_function=splineの場合
-
slope_tuning=<float> (0.0 - 10.0, デフォルト: 1.5)
スプライン曲線の傾きの係数。 -
slope_offset=<float> (0.0 - 1.0, デフォルト: 0.2)
スプライン曲線の傾きのオフセット。 -
spline_contrast=<float> (0.0 - 1.5, デフォルト: 0.5)
スプライン関数のコントラスト。高い値は中間調を保持しますが、影や高輝度部分の詳細を失う可能性があります。
-
-
tonemapping_function=reinhardの場合
- reinhard_contrast=<float> (0.0 - 1.0, デフォルト: 0.5)
reinhard関数のディスプレイピークにおけるコントラスト係数。
- reinhard_contrast=<float> (0.0 - 1.0, デフォルト: 0.5)
-
tonemapping_function=mobius, gammaの場合
- linear_knee=<float> (0.0 - 1.0, デフォルト: 0.3)
-
tonemapping_function=linear, linearlightの場合
- exposure=<float> (0.0 - 10.0, デフォルト: 1.0)
適用される線形露出/ゲイン。
- exposure=<float> (0.0 - 10.0, デフォルト: 1.0)
-
metadata=<int>
トーンマッピングに使用するデータソース。any, none, hdr10, hdr10plus, cie_y
-
contrast_recovery=<float>
コントラスト回復強度。デフォルト: 0.3 -
contrast_smoothness=<float>
コントラスト回復のローパスカーネルサイズ。デフォルト: 3.5 -
visualize_lut=<bool>
トーンマッピングカーブ/LUTを可視化します。デフォルト: false -
show_clipping=<bool>
クリップされたピクセルを可視化します。デフォルト: false -
use_dovi=<bool>
Dolby Vision RPUをST2086メタデータとして使用するかどうか。デフォルト: auto (Dolby Visionからトーンマッピングする場合に有効) -
dst_pl_transfer=<string>
出力の転送関数。dst_pl_colorprim
と一緒に使用する必要があります。unknown, srgb, bt1886, linear, gamma18, gamma20, gamma22, gamma24, gamma26, gamma28, prophoto, st428, pq, hlg, vlog, slog1, slog2
-
dst_pl_colorprim=<string>
出力の色域。dst_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
-
-
使用例
例: Dolby VisionからSDRへのトーンマッピング --vpp-libplacebo-tonemapping src_csp=dovi,dst_csp=sdr
--vpp-libplacebo-tonemapping で使用するlutファイルの指定。
Repeat Field Flagを反映して、フレームを再構築する。rffによる音ズレ問題が解消できる。--avhw, --avsw使用時のみ有効。
rff=1の場合のみの対応。(rff > 1には対応しない) また、--trimとは併用できない。
ロゴファイルとロゴ消しのオプションを指定する。ロゴファイルは、".lgd",".ldp",".ldp2"に対応。
- パラメータ
-
select=<string>
ロゴパックの場合に、使用するロゴを以下のいずれかで指定する。-
ロゴ名
-
インデックス (1,2,...)
-
自動選択用iniファイル
[LOGO_AUTO_SELECT] logo<連番数字>=<マッチパターン>,<リストに表示されているロゴ名(完全一致!)>
例:
[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>
1/4画素精度のロゴ位置の調整。Aviutlで言うところの <位置 X>:<位置 Y>。 -
depth=<int>
ロゴの透明度の補正。デフォルト128。Aviutlで言うところの <深度>。 -
y=<int>
-
cb=<int>
-
cr=<int>
ロゴの各色成分の補正。Aviutlで言うところの <Y>, <Cb>, <Cr>。
-
自動フィールドシフトによるインタレ解除を行う。
-
パラメータ ... 基本的にはAviutl版のパラメータをそのまま使用する。
-
top=<int> (上)
-
bottom=<int> (下)
-
left=<int> (左)
-
right=<int> (右)
判定に使用する領域から除外する範囲の指定。QSVEEncでは、"左"と"右"は4の倍数である必要がある。 -
method_switch=<int> (切替点) (0-256)
切替点が大きいほど、新方式の判定になりやすい(0で常に新方式判定off) -
coeff_shift=<int> (判定比) (0-256)
判定比率が小さいほど、フィールドをシフトしにくい(0で常にシフト判定off) -
thre_shift=<int> (縞(シフト)) (0-1024)
シフトの判定に使用する縞検出の閾値。値が小さいほど、縞と判定されやすくなる。 -
thre_deint=<int> (縞(解除)) (0-1024)
縞解除用の縞検出の閾値。値が小さいほど、縞と判定されやすくなる。 -
thre_motion_y=<int> (Y動き) (0-1024)
-
thre_motion_c=<int> (C動き) (0-1024)
動き検出の閾値。値が小さいほど、動きと判定されやすくなる。 -
level=<int> (解除Lv)
縞解除の方法の選択。(0 - 4)解除Lv Lv0 解除なし 横縞模様の解除を行わない。
フィールドシフトで組み合わされた新しいフレームがそのまま出力になる。Lv1 フィールド三重化 フィールドシフトで組み合わされた新しいフレームに、さらに1つ前の フィールドを残像として足しこむ。
動きによる縞模様は完全に残像に変換される。Lv2 縞検出二重化 フレーム内で縞模様を検出して、縞の部分を平均化して残像に変える。
フィールド単位の動きが少ない映像向け。Lv3 動き検出二重化 前のフレームと比較をして、動き(色の変化)があった部分だけ縞の平均化を行う。
解除Lv2だと平均化されてしまう静止した横縞模様を保存できる。
静止したテロップの細かい文字や、アニメなどの枠線付きの静止画の 輪郭をつぶしたくない場合に使用する。Lv4 動き検出補間 前のフレームと比較をして動きがあった部分は、片方のフィールドを潰して残す方のフィールドの画像で補間する。
残像はなくなりますが、この解除がかかった部分は縦の解像度が半分になる。Lv5 斜め線補正補間 非対応 -
shift=<bool> (フィールドシフト)
フィールドシフトを行う。 -
drop=<bool> (間引き)
フィールドシフトを行うことで生じた表示時間の1フレームより短いフレームを間引く。これを有効にするとVFR(可変フレームレート)になるので注意。 QSVEncCでmuxしながら出力する場合には、このタイムコードは自動的に反映される。 一方、raw出力する場合には、タイムコード反映されないので、vpp-afsのオプションにtimecode=trueを追加してタイムコードを別途出力し、あとからtimecodeファイルを含めてmuxする必要がある。 -
smooth=<bool> (スムージング)
-
24fps=<bool> (24fps化)
24fps化を強制する、映画・アニメ用のオプション。フィールドシフトと間引きをonにする必要がある。 -
tune=<bool> (調整モード)
縞模様と動きの判定結果の確認用。色 意味 青 動きを検出 灰 縞を検出 水色 動き + 縞を検出 -
rff=<bool>
入力フレームにrffフラグ付きのプログレフレームがある場合、これをチェックしてインタレ解除処理に反映する。rffフラグ付きのプログレフレームについては、フィールドシフトを行わずに、フレームの表示時間の修正のみを行う。 -
log=<bool>
フレームごとの判定状況等をcsvファイルで出力。(デバッグ用のログ出力) -
timecode=<bool>
タイムコードを出力する。
-
-
一括設定用オプション
たくさんあるパラメータを一括指定するためのオプション。一括設定用オプションは必ず先に読み込まれ、個別オプションの指定があればそちらで上書きされる。
-
ini=<string>
指定したini設定ファイルから設定を読み込む。この設定ファイルはAviutl版自動フィールドシフト 高速化 7.5a+20以降のafs.aufで出力できるものを使用する。[AFS_STG] up=8 bottom=8 left=16 right=16 method_watershed=91 coeff_shift=191 thre_shift=447 thre_deint=44 thre_Ymotion=111 thre_Cmotion=222 mode=4 field_shift=1 drop=1 smooth=1 force24=1 tune_mode=0 log=0
-
preset=<string>
以下の表のプリセットをロードします。
例: アニメプリセットをロード後、"24fps"をon --vpp-afs preset=anime,24fps=true
default triple
(動き重視)double
(二重化)anime
cinema
(アニメ/映画)min_afterimg
(残像最小化)24fps
(24fps固定)30fps
(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
-
-
vpp-afs使用上の注意
- Aviutl版とは全く同じ挙動にはなりません。
- Aviutl版の下記機能には非対応です。
- 解除Lv5
- シーンチェンジ検出(解除Lv1)
- 編集モード
- ログ保存
- ログ再生
- YUY2補間
- シフト・解除なし
-
使用例
例: --vpp-afs preset=24fpsと同じ設定をする例 --vpp-afs preset=anime,method_switch=92,thre_shift=448,24fps=true
nnediによるインタレ解除を行う。基本的には片方フィールドは捨てて、もう片方のフィールドから ニューラルネットを使って輪郭を補正しながらフレームを再構築することでインタレ解除するが、とても重い…。
-
パラメータ
-
field
インタレ解除の方法。- auto (デフォルト)
維持するフィールドを自動的に選択 - top
トップフィールド維持 - bottom
ボトムフィールド維持
- auto (デフォルト)
-
nns (デフォルト: 32)
ニューラルネットのニューロン数。- 16, 32, 64, 128, 256
-
nsize (デフォルト: 32x4)
ニューラルネットが参照する近傍ブロックのサイズ。- 8x6, 16x6, 32x6, 48x6, 8x4, 16x4, 32x4
-
quality (デフォルト: fast)
品質の設定。-
fast
ひとつのニューラルネットの出力で画像を構成する。 -
slow
slowではfastのニューラルネットの出力に、もうひとつの ニューラルネットの出力をブレンドして品質を上げる(当然その分さらに遅い)。
-
-
prescreen (デフォルト: new_block)
事前に前処理を行い、単純な補間で済ますか、ニューラルネットでの補正を行うか決定する。 基本的にはエッジ近傍がニューラルネットでの補正の対象となり、ニューラルネットを使う頻度が下がることで処理が高速になる。-
none
前処理を行わず、すべてのpixelをニューラルネットで再構成する。 -
original
-
new
前処理を行い、必要なところのみニューラルネットでの補正を行うようにする。originalとnewは方式が異なる。newのほうが速くなる傾向にある。 -
original_block
-
new_block
original/newのGPU最適化版。pixel単位の判定の代わりにブロック単位の判定を行う。
-
-
errortype (デフォルト: abs)
ニューラルネットの重みパラメータを選択する。- abs
絶対誤差を最小にするよう学習された重みを用いる。 - square
二乗誤差を最小にするよう学習された重みを用いる。
- abs
-
prec (デフォルト: auto)
演算精度の選択。-
auto
fp16が使用可能かつ使用したほうが高速と思われる場合、fp16を自動的に選択する。 現状ではTuring世代のGPUで自動的にfp16が使用される。 Pascal世代はfp16を使用できるものの、とても遅いので使用しない。 -
fp16
半精度浮動小数点をメインに使って計算する。環境によっては高速。 -
fp32
単精度浮動小数点を使って計算する。
-
-
weightfile (デフォルト: 組み込み)
重みパラメータファイルの(パスの)指定。特に指定のない場合、実行ファイルに埋め込まれたデータを使用する。
-
-
使用例
例: --vpp-nnedi field=auto,nns=64,nsize=32x6,quality=slow,prescreen=none,prec=fp32
yadifによるインタレ解除を行う。
-
パラメータ
-
mode
- auto (default)
維持するフィールドを自動的に選択。 - tff
トップフィールド維持。 - bff
ボトムフィールド維持。 - bob
60fps化を行う(field順は自動選択)。 - bob_tff
60fps化を行う(tff)。 - bob_bff
60fps化を行う(bff)。
- auto (default)
-
decombによるインタレ解除を行う。
-
パラメータ
-
full=<bool>
すべてのフレームをインタレ解除する。 デフォルト: on。 -
threshold=<int>
フレームがインタレ解除が必要か判定する際の閾値。デフォルト 20 (0 - 255)。 -
dthreshold=<int> 縞検出の閾値。デフォルト 7 (0 - 255)。
-
blend=<bool>
補間の代わりにブレンドする。デフォルト: off。
-
GPUによるインタレ解除を使用する。"normal", "bob"はわりときれいに解除されるが、"it"はあまりきれいに解除できない。
- パラメータ
- none ... インタレ解除を行わない
- normal ... 標準的な60i→30pインタレ解除。
- bob ... 60i→60pインタレ解除。
- it ... inverse telecine
重複フレームを削除します。
- パラメータ
-
cycle=<int> (デフォルト: 5)
ドロップするフレームの周期。ここで設定したフレーム数の中から指定フレーム数をドロップする。 -
drop=<int> (デフォルト: 1)
cycle内にドロップするフレーム数。ここで設定したフレーム数の中から1枚フレームをドロップする。 -
thredup=<float> (デフォルト: 1.1, 0.0 - 100.0)
重複と判定する閾値。 -
thresc=<float> (デフォルト: 15.0, 0.0 - 100.0)
シーンチェンジと判定する閾値。 -
blockx=<int>
-
blocky=<int>
重複判定の計算を行うブロックサイズ。デフォルト: 32。 ブロックサイズは 4, 8, 16, 32, 64のいずれかから選択可能。 -
chroma=<bool>
色差成分を考慮した判定を行う。(デフォルト: on) -
log=<bool>
判定結果のログファイルの出力。 (デフォルト: off)
-
連続した重複フレームを削除し、VFR動画を作ることで、実効的なエンコード速度の向上と圧縮率向上を測ります。 なお、このフィルタを使用すると--avsync vfrが自動で有効になります。
- パラメータ
-
hi=<int> (デフォルト: 768)
ドロップ対象とするかどうかの閾値。各8x8ブロックの中の差分の総和が、ひとつでもこの閾値を上回っていれば、ドロップ対象から外す。 -
lo=<int> (デフォルト: 320)
-
frac=<float> (デフォルト: 0.33)
ドロップ対象とするかどうかの閾値。各8x8ブロックの中の差分の総和について、閾値"lo"を上回っているブロックの数をカウントし、 それが全体のブロック数に占める割合が"frac"以上であればドロップ対象から外す。 -
max=<int> (デフォルト: 0)
正の値での指定: 連続ドロップフレーム数の上限。
負の値での指定: 間引く1フレームを決めるフレーム間隔の下限。 -
log=<bool>
判定結果のログファイルの出力。 (デフォルト: off)
-
3次元ノイズ除去フィルタ。
-
パラメータ
-
matrix=<string> (デフォルト=original)
使用するmatrixの選択。- 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)
計算を簡略化した高速モードを使用する。 -
ythresh=<float> (デフォルト=3, 0-255)
空間方向の輝度成分の閾値で、輪郭の保護を行う。値を大きくするとノイズ除去が強くなるものの、輪郭がぼけてしまう可能性が高まる。 -
cthresh=<float> (デフォルト=4, 0-255)
空間方向の色差成分の閾値で、輪郭の保護を行う。値を大きくするとノイズ除去が強くなるものの、輪郭がぼけてしまう可能性が高まる。 -
t_ythresh=<float> (デフォルト=3, 0-255)
時間方向の輝度成分の閾値で、シーンチェンジでの残像を防止する。値を大きくするとノイズ除去が強くなるものの、シーンチェンジで残像が生じやすくなる。10以下の値が推奨。 -
t_cthresh=<float> (デフォルト=4, 0-255)
時間方向の色差成分の閾値で、シーンチェンジでの残像を防止する。値を大きくするとノイズ除去が強くなるものの、シーンチェンジで残像が生じやすくなる。10以下の値が推奨。
-
-
使用例
例: simple matrixの使用 --vpp-convolution3d matrix=simple
- パラメータ
-
quality=<int> (default=3, 1-6)
処理の品質。値が大きいほど高精度だが遅くなる。 -
qp=<int> (default=12, 1 - 63)
フィルタの強さ。値が大きいほど強さが増すが、輪郭がぼける等の副作用も強くなる。 -
prec (デフォルト: auto)
演算精度の選択。-
auto
可能な場合、fp16を用いて高速化を図る。それ以外の場合はfp32を用いる。 -
fp32
単精度浮動小数点を使って計算する。 -
fp16
半精度浮動小数点をメインに使って計算する。
-
-
もう一つのDCTベースのノイズ除去フィルタ。
- パラメータ
-
step=<int>
処理の品質。値が小さいほど高精度だが遅くなる。- 1 (high quality, slow)
- 2 (default)
- 4
- 8 (fast)
-
sigma=<float> (default=4.0)
フィルタの強さ。値が大きいほど強さが増すが、輪郭がぼける等の副作用も強くなる。 -
block_size=<int> (default=8)
- 8
- 16 (slow)
-
FFTベースのノイズ除去フィルタ。
- パラメータ
-
sigma=<float>
フィルタ強度。 (default=1.0, 0.0 - 100.0) -
amount=<float> (default=1.0, 0.0 - 1.0)
ノイズ除去量。 -
block_size=<int> (default=32)
FFTの計算ブロックサイズ。- 8
- 16
- 32
- 64
-
overlap=<float> (default=0.5, 0.2 - 0.8)
FFTブロック同士のオーバーラップサイズ。アーティファクト発生を防ぐため、0.5以上が推奨。 -
method=<int> (default = 0)
- 0 ... wiener法
- 1 ... 閾値による打ち切り
-
temporal=<int> (default = 1)
- 0 ... 空間方向のフィルタリングのみ
- 1 ... 時間方向のフィルタリングも行う
-
prec=<string> (default = auto)
- auto ... 可能な場合fp16(半精度浮動小数点)で計算する (高速)
- fp32 ... 常にfp32(単精度浮動小数点)で計算する
-
-
パラメータ
-
radius=<int> (default=3, 1-5)
適用半径。値が大きいほど効果が強くなる一方、処理が重くなる。 -
strength=<float> (default=0.08, 0.0 - 1.0)
フィルタの強さ。値が大きいほど効果が強くなる。 -
lerp=<float> (default=0.2, 0.0 - 1.0)
ノイズ除去ピクセルへのオリジナルピクセルのブレンド度合い。 -
th_lerp=<float> (default=0.8, 0.0 - 1.0)
エッジ検出の閾値。
-
-
使用例
例: すこし強め --vpp-knn radius=3,strength=0.10,lerp=0.1
Non local meansを用いたノイズ除去フィルタ。
-
パラメータ
-
sigma=<float> (default=0.005, 0.0 -)
ノイズの分散。 より大きな値にするとより強くノイズ除去を行う。 -
h=<float> (default=0.05, 0.0 <)
パラメータ。 値を大きくすると重みがより均一になる。 -
patch=<int> (default=5, 3 - )
パッチのサイズ。奇数で指定。 -
search=<int> (default=11, 3 - )
探索範囲。奇数で指定。 -
fp16=<string> (default=blockdiff)
-
none
fp16を使用せず、fp32を使用する。高精度だが遅い。 -
blockdiff
ブロックの差分計算にのみfp16を使用する。精度と速度のバランスが良い。 -
all
重みの計算にもfp16を使用する。高速だが低精度。
-
-
-
使用例
例: 探索範囲を広げてより高精度に --vpp-nlmeans patch=7,search=15
正則化pmd法によるノイズ除去。弱めのノイズ除去を行いたいときに使用する。
-
パラメータ
-
apply_count=<int> (default=2, 1- )
適用回数。繰り返し適用することで、より強くノイズが除去されます。デフォルトは2。 -
strength=<float> (default=100, 0-100)
1回ごとのフィルタの強さ。 -
threshold=<float> (default=100, 0-255)
フィルタの輪郭検出の閾値。小さいほど輪郭を保持するようになるが、フィルタの効果も弱まる。
-
-
使用例
例: すこし弱め --vpp-pmd apply_count=2,strength=90,threshold=120
GPUによるノイズ除去を行う。0 - 100 の間でノイズ除去の強さを指定する。短縮系では強度のみの設定。
- パラメータ
-
mode=<string>
-
auto (デフォルト)
自動的に適切なモードを選択する。 -
auto_bdrate
エンコード用にBD rate改善を目指したノイズ除去を行い、その強度は自動で決定する。 -
auto_subjective
エンコード用に主観品質改善を目指したノイズ除去を行い、その強度は自動で決定する。 -
auto_adjust
動画再生用に主観品質改善を目指したノイズ除去を行い、その強度は自動で決定する。 -
pre
エンコード用のノイズ除去を設定された強度で行う。 -
post
動画再生用のノイズ除去を設定された強度で行う。
-
-
strength=<int>
0 - 100 の間でノイズ除去の強さを指定する。modeがauto_bdrate, auto_subjective, auto_adjustの場合には強度は自動で決定されるため無効。
-
image stabilizerのモードの指定。
- パラメータ
- none
- upscale
- box
動き補償付き時間軸ノイズ除去を行う。引数を省略した場合、あるいは"auto"を指定した場合は、 自動的にノイズ除去の強さが調整される。また、1(弱) - 20(強) の間でノイズ除去の強さを指定することもできる。
指定した字幕の焼きこみを行う。テキスト形式の字幕については、libassを用いたレンダリングを行う。
-
パラメータ
-
track=<int>
入力ファイルの指定した字幕トラックを焼きこむ。(--avhw, --avsw時のみ有効、字幕トラックは1,2,3,...で指定) -
filename=<string>
指定したファイルの字幕トラックを焼きこむ。 -
charcode=<string>
字幕の文字コードの指定。(字幕がtext形式の場合) -
shaping=<string>
字幕のレンダリングの品質の指定。(字幕がtext形式の場合)- simple
- complex (デフォルト)
-
scale=<float> (デフォルト=0.0 (auto))
bitmap形式の字幕の表示サイズの倍率 -
transparency=<float> (デフォルト=0.0, 0.0 - 1.0)
字幕に透過性を追加する。 -
brightness=<float> (デフォルト=0.0, -1.0 - 1.0)
字幕の輝度の調整を行う。 -
contrast=<float> (デフォルト=1.0, -2.0 - 2.0)
字幕のコントラストの調整を行う。 -
vid_ts_offset=<bool>
動画ファイルの最初のタイムスタンプに合わせて、タイムスタンプを補正する。 (デフォルト=on) なお、"track"を使用する場合は、このオプションは常にオンになります。 -
ts_offset=<float> (デフォルト=0.0)
字幕のtimestampを秒単位で調整(デバッグ用) -
fontsdir=<string>
字幕で使用するフォントの存在するフォルダの指定。 -
forced_subs_only=<bool>
forced flagのついた字幕のみを焼きこむ。 (デフォルト=off)
-
-
使用例
例1: 入力ファイルの字幕トラックを焼きこみ --vpp-subburn track=1 例2: PGS字幕をファイルから焼きこみ --vpp-subburn filename="subtitle.sup" 例3: Shift-JISな文字コードのassファイルの焼きこみ --vpp-subburn filename="subtitle.sjis.ass",charcode=sjis,shaping=complex
libplaceboを使用して指定されたパスのカスタムシェーダーを適用します。Windowsでのみ対応しています。
-
パラメータ
-
shader=<string>
対象のshaderファイルのパス。(glslファイル) -
res=<int>x<int>
フィルタの出力解像度。 -
colorsystem=<string>
使用する色空間を指定。デフォルトでは入力ファイルから自動的に設定される。unknown, bt601, bt709, smpte240m, bt2020nc, bt2020c, bt2100pq, bt2100hlg, dolbyvision, ycgco, rgb, xyz
-
transfer=<string>
出力のトランスファ関数を指定。デフォルトでは入力ファイルから自動的に設定される。unknown, srgb, bt1886, linear, gamma18, gamma20, gamma22, gamma24, gamma26, gamma28, prophoto, st428, pq, hlg, vlog, slog1, slog2
-
resampler=<string>
リサンプルが必要な場合に使用するフィルタ関数を指定。デフォルトは 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>
拡大縮小アルゴリズムの半径。vpp-resizeの表で "resizable" にチェックが入っているもののみ有効。 (0.0 - 16.0、デフォルト = 自動) -
clamp=<float>
負の重みに対するクランプ係数。1.0にすると負の重みが0になります。(0.0 - 1. 0、デフォルト = 0.0) -
taper=<float>
重み関数の中心部分を平坦化します。(0.0 - 1.0、デフォルト = 0.0) -
blur=<float>
追加のぼかし係数。(0.0 - 100.0、デフォルト = 0.0) -
antiring=<float>
アンチリンギング強度。(0.0 - 1.0、デフォルト = 0.0) -
linear=<bool>
linearize image before processing.
-
-
使用例
例: カスタムシェーダを使用した 1280x720 -> 2560x1440 へのリサイズ。 --vpp-libplacebo-shader shader=default-shader-pack-2.1.0\Anime4K_Upscale_CNN_x2_L.glsl,res=2560x1440
リサイズのアルゴリズムを指定する。
-
オプション
-
algo=<string>
デフォルトは "auto" で自動的に適切なものを選択する。-
VPLの高速hwリサイズフィルタ
名前 説明 simple Nearest Neighbor法による高速なリサイズ advanced 高品質なリサイズ -
OpenCLで実装したリサイズフィルタ
名前 説明 bilinear 線形補間 bicubic 双3次補間 spline16 4x4 Spline補間 spline36 6x6 Spline補間 spline64 8x8 Spline補間 lanczos2 4x4 lanczos補間 lanczos3 6x6 lanczos補間 lanczos4 8x8 lanczos補間 -
libplaceboライブラリのリサイズフィルタ
名前 説明 resizable libplacebo-spline16 4x4 Spline補間 libplacebo-spline36 6x6 Spline補間 libplacebo-spline64 8x8 Spline補間 libplacebo-nearest 最近傍点選択 libplacebo-bilinear 線形補間 ✓ libplacebo-gaussian ガウス補間 ✓ libplacebo-sinc Sinc補間 ✓ libplacebo-lanczos Lanczos補間 ✓ libplacebo-ginseng Ginseng補間 ✓ libplacebo-ewa-jinc EWA Jinc補間 ✓ libplacebo-ewa-lanczos EWA Lanczos補間 ✓ libplacebo-ewa-lanczossharp EWA Lanczos Sharp補間 ✓ libplacebo-ewa-lanczos4sharpest EWA Lanczos 4 Sharpest補間 ✓ libplacebo-ewa-ginseng EWA Ginseng補間 ✓ libplacebo-ewa-hann EWA Hann補間 ✓ libplacebo-ewa-hanning EWA Hanning補間 ✓ libplacebo-bicubic 双3次補間 libplacebo-triangle 三角補間 libplacebo-hermite Hermite補間 libplacebo-catmull-rom Catmull-Rom補間 libplacebo-mitchell Mitchell補間 libplacebo-mitchell-clamp Mitchell Clamp補間 libplacebo-robidoux Robidoux補間 libplacebo-robidouxsharp Robidoux Sharp補間 libplacebo-ewa-robidoux EWA Robidoux補間 libplacebo-ewa-robidouxsharp EWA Robidoux Sharp補間 Windowsのx64版のみ対応です。
-
追加パラメータ
-
pl-radius=<float>
libplacebo-resampleで使用される拡大縮小アルゴリズムの半径。表で "resizable" にチェックが入っているもののみ有効。 (0.0 - 16.0、デフォルト = 自動)
-
pl-clamp=<float>
libplacebo-resampleで使用される負の重みに対するクランプ係数。1.0にすると負の重みが0になります。(0.0 - 1. 0、デフォルト = 0.0)
-
pl-taper=<float>
libplacebo-resampleの重み関数の中心部分を平坦化します。(0.0 - 1.0、デフォルト = 0.0)
-
pl-blur=<float>
libplacebo-resampleの追加のぼかし係数。(0.0 - 100.0、デフォルト = 0.0)
-
pl-antiring=<float>
libplacebo-resampleのアンチリンギング強度。(0.0 - 1.0、デフォルト = 0.0)
-
-
-
-
-
使用例
例: spline64を使用する (短縮表記) --vpp-resize spline64 例: spline64を使用する --vpp-resize algo=spline64 例: libplaceboのリサイズフィルタを使用する --vpp-resize algo=libplacebo-sinc,pl-radius=3.0,pl-antiring=0.5
リサイザのモードを指定する。
- パラメータ
オプション名 説明 auto 自動的に適切なものを選択 lowpower HWによる省電力なリサイズ quality 高品質なリサイズ
unsharpフィルタ。輪郭・ディテール強調用のフィルタ。
-
パラメータ
-
radius=<int> (default=3, 1-9)
輪郭・ディテール検出の範囲。より大きな値とすることで、より広い範囲のディテールに反応して強調をかけるようになる。 -
weight=<float> (default=0.5, 0-10)
輪郭・ディテール強調の強さ。より大きな値とすることで、強く強調がかかる。 -
threshold=<float> (default=10.0, 0-255)
輪郭・ディテール検出の閾値。閾値以上の差異がある画素に対して、輪郭強調を行う。
-
-
使用例
例: やや強め --vpp-unsharp weight=1.0
エッジレベル調整フィルタ。輪郭強調用のフィルタ。
-
パラメータ
-
strength=<float> (default=5.0, -31 - 31)
輪郭強調の強さ。より大きな値とすることで、輪郭強調が強力になる。 -
threshold=<float> (default=20.0, 0 - 255)
輪郭強調を行わないようにするノイズの閾値。より大きな値ほど大きな輝度の変化をノイズとして扱うようになる。 -
black=<float> (default=0.0, 0-31)
輪郭の黒い部分について、より黒くシュートさせて輪郭を強調するようにする。 -
white=<float> (default=0.0, 0-31)
輪郭の白く部分について、より白くシュートさせて輪郭を強調するようにする。
-
-
使用例
例: やや強め(Aviutl版のデフォルト) --vpp-edgelevel strength=10.0,threshold=16.0,black=0,white=0 例: 輪郭の黒い部分を気持ち強める --vpp-edgelevel strength=5.0,threshold=24.0,black=6.0
細線化フィルタ。輪郭調整用のフィルタ。
-
パラメータ
-
threshold=<float> (default=128.0, 0 - 255)
輪郭検出の閾値。値をあげるほどフィルタの強度が強まる。 -
blur=<int> (default=2)
blur処理を行う回数。値をあげるほどフィルタの強度が弱まる。 -
type=<int> (default=0)
- 0 ... 13x13のblur処理を行う。
- 1 ... 5x5のblur処理を行う。より高品質だが、blur回数を多めにする必要がある。
-
depth=<float> (default=16.0, -128.0 - 128.0)
warpの深度。値をあげるほどフィルタの強度が強まる。 -
chroma=<int> (default=0)
色差の処理方法の指定。- 0 ... 輝度ベースの輪郭検出を色差成分にも適用する。
- 1 ... 各色差成分についてそれぞれ輪郭検出を行う。
-
-
使用例
例: type=1を使う場合 --vpp-warpsharp threshold=128,blur=3,type=1
GPUによるディテールの強調を行う。0 - 100 の間でディテール強調の強さを指定する。
動画を回転させる。 90, 180, 270 度の回転のみに対応。
- パラメータ
-
flip_x=<bool>
-
flip_y=<bool>
-
transpose=<bool>
-
指定した変換カーブに基づく色調整を行うフィルタ。
-
パラメータ
-
preset=<float>
- none
- color_negative
- process
- darker
- lighter
- increase_contrast
- linear_contrast
- medium_contrast
- strong_contrast
- negative
- vintage
-
m=<string>
輝度調整用のカーブの指定。RGB処理後に、ポスト処理として実行される。 -
r=<string>
赤成分のカーブの指定。 -
g=<string>
緑成分のカーブの指定。 -
b=<string>
青成分のカーブの指定。 -
all=<string>
全成分のカーブの指定。r,g,bの固有の指定がない場合には、これが適用される。
-
-
使用例
例: --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"
-
パラメータ
-
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)
-
-
使用例
例: --vpp-tweak brightness=0.1,contrast=1.5,gamma=0.75
-
パラメータ
-
range=<int> (default=15, 0-127)
ぼかす範囲。この範囲内の近傍画素からサンプルを取り、ブラー処理を行う。 -
sample=<int> (default=1, 0-2)
-
設定値:0
周辺1画素を参照し、元の画素値を維持したまま処理を行う。 -
設定値:1
周辺1画素とその点対称画素の計2画素を参照し、ブラー処理を行う。 -
設定値:2
周辺2画素とその点対称画素の計4画素を参照し、ブラー処理を行う。
-
-
thre=<int> (一括設定)
-
thre_y=<int> (default=15, 0-31)
-
thre_cb=<int> (default=15, 0-31)
-
thre_cr=<int> (default=15, 0-31)
y,cb,cr 各成分の閾値。この値が高いと階調飛びを減らす一方で、細かい線などが潰れやすくなる。 -
dither=<int> (一括設定)
-
dither_y=<int> (default=15, 0-31)
-
dither_c=<int> (default=15, 0-31)
y成分と cb+cr成分のディザの強さ。 -
seed=<int>
乱数シードの変更。 (default=1234) -
blurfirst (default=off)
ブラー処理を先にすることでディザ強度を減らしつつ、階調飛びが多い素材での効果を上げる。 全体的に副作用が強くなり細かい線が潰れやすくなる。 -
rand_each_frame (default=off)
毎フレーム使用する乱数を変更する。
-
-
使用例
例: --vpp-deband range=31,dither=12,rand_each_frame
libplaceboを使用したバンディング低減フィルタ。Windowsでのみ対応しています。
-
Parameters
-
iterations=<int>
イテレーション数。 (default=1, 0-) -
threshold=<float>
カットオフ閾値。 (default=4.0, 0-) -
radius=<float>
半径 (default=16.0, 0-) -
grain_y=<float>
輝度用の追加ノイズ。 (default=6.0, 0-) -
grain_c=<float>
色差用の追加ノイズ。 (default=grain_y, 0-) -
dither=<string>
ディザリングモード、8bitのみ。- none
- blue_noise (default)
- ordered_lut
- ordered_fixed
- white_noise
-
lut_size=<int>
ディザリング用のLUTのサイズ。 (default=64)2, 4, 8, 16, 32, 64, 128, 256
-
-
使用例
例: --vpp-libplacebo-deband iterations=1,radius=32
指定のピクセル数(偶数)分のパディングを行う。左、上、右、下の順にピクセル数で指定する。
指定の画像を動画上に焼き込む。
-
パラメータ
-
file=<string>
焼き込む画像のパス。 -
pos=<int>x<int>
焼き込み位置。 -
size=<int>x<int>
焼き込む画像のサイズ。未指定の場合は、リサイズせず焼き込みを行う。 -
alpha=<float> (デフォルト: 1.0 (0.0 - 1.0))
焼き込み際の不透明度。 -
alpha_mode=<string>
- override ... alphaで指定の不透明度で上書きする。 (デフォルト)
- mul ... alphaで指定した不透明度を乗算する。
- lumakey ... 指定の輝度値で不透明度を設定する。
-
lumakey_threshold=<float> (デフォルト: 0.0 (暗い: 0.0 - 1.0 :明るい))
透明色にする輝度値。 -
lumakey_tolerance=<float> (デフォルト: 0.1 (0.0 - 1.0))
透明色にする輝度値の範囲の指定。 -
lumakey_softness=<float> (デフォルト: 0.0 (0.0 - 1.0))
toleranceに対する透明度の変化の具合を指定。 -
loop=<bool> (default=false)
-
-
使用例
--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
perceptual pre encode filterを有効にする。
有効になったフィルタの平均処理時間を最後に出力する。計測のためフィルタごとに同期をとるため、全体的な速度は低下することに注意(あくまでも個々のフィルタの性能測定用)
QSVパイプラインに先行投入するフレーム数を指定する。
QSVのパイプライン(Decode, VPP, Encode)に指定量のフレームを余剰に投入する。これによりパイプラインの並列動作を容易にし、QSV/GPUの稼働率を向上させ、処理が高速化する。デフォルトでは3フレームとなる。(たとえば、エンコードのみなら4、エンコードとデコードなら6...) 多くすると高速化する可能性もあるが、メモリ使用量が増えるほか、キャッシュ効率が悪くなり、遅くなる可能性もある。
読み込み用のフレームバッファサイズ。 (default = 3)
出力バッファサイズをMB単位で指定する。デフォルトは8、最大値は128。0で使用しない。
出力バッファはディスクへの書き込みをアプリケーション側で制御し、バッファサイズ分たまるまで書き出さないようにする。 これにより、ディスクへの書き込み単位が大きくなり、エンコード中のディスクへの読み書きの混在を防ぎ、高速化が期待できる。 またディスク上でのファイルの断片化の抑止も期待できる。
一方、あまり大きく設定しすぎると、逆に遅くなることがあるので注意。基本的にはデフォルトのままで良いと思われる。
file以外のプロトコルを使用する場合には、この出力バッファは使用されず、この設定は反映されない。 また、出力バッファ用のメモリは縮退確保するので、必ず指定した分確保されるとは限らない。
QSVパイプライン駆動用のスレッド数を2以上の値から指定する。(デフォルト: -1 ( = 自動)) Windowsでのみ使用可能です。
GPU-CPU間のメモリコピーをGPUを使用して実行します。
出力スレッドを使用するかどうかを指定する。 出力スレッドを使用すると、メモリ使用量が増加するが、エンコード速度が向上する場合がある。
- パラメータ
- -1 ... 自動(デフォルト)
- 0 ... 使用しない
- 1 ... 使用する
QSVEncCの使用メモリ量を最小化する。下記オプションに同じ。
--output-thread 0 --audio-thread 0 --mfx-thread 2 -a 1 --input-buf 1 --output-buf
Windowsのタイマー精度を向上させ、高速化する。いわゆるtimeBeginPeriod(1)。Windowsのみ。
ログを指定したファイルに出力する。
ログ出力の段階を選択する。不具合などあった場合には、--log-level debug --log log.txt
のようにしてデバッグ用情報を出力したものをコメントなどで教えていただけると、不具合の原因が明確になる場合があります。
-
レベル
- trace ... フレームごとに情報を出力
- debug ... デバッグ情報を追加で出力
- info ... 一般的なエンコード情報を表示、デフォルト
- warn ... エラーと警告を表示
- error ... エラーのみ表示
- quiet ... ログ出力を停止
-
対象
ログ出力レベルの設定対象の指定。省略した場合は、all
として扱う。- all ... すべて
- app ... libav, libass, perfmonitor, amf を除いたすべて
- device ... デバイス初期化関連
- core ... アプリケーションのコア部分 (core_progress, core_result含む)
- core_progress ... 進捗表示
- core_result ... 結果表示
- decoder ... デコーダ関連
- input ... ファイル読み込み関連
- output ... ファイル書き出し関連
- vpp ... vppフィルタ関連
- amf ... amfライブラリ関連
- opencl ... opencl関連
- libav ... libavライブラリ内部のログ出力
- libass ... assライブラリ関連
- perfmonitor ... パフォーマンスモニタ関連
-
使用例
例: デバッグ出力 --log-level debug 例: 周辺ライブラリを除いたログ出力をデバッグ出力に --log-level app=debug 例: 進捗表示のみ --log-level error,core_progress=info
ログ関係の追加オプションの指定。
- パラメータ
- addtime (デフォルト=off)
ログの各行に時刻を表示するように。
- addtime (デフォルト=off)
avsw/avhw読み込み時のデバッグ情報出力。
avsw/avhw読み込み時のデバッグ情報出力。
デバッグ情報出力。
プロセスやスレッドのスレッドアフィニティを設定する。具体的な指定方法は例を確認してください。
-
対象 (<string1>) スレッドアフィニティを設定する対象を指定する。省略された場合は"all"。
- all ... 下記すべてを対象とする
- process ... プロセス全体
- main ... メインスレッド
- decoder ... avhwデコード用スレッド
- csp ... CPUの色空間変換用スレッド
- input ... 読み込み用スレッド
- encoder ... エンコーダパイプラインのバックグラウンドスレッド
- output ... 出力用スレッド
- audio ... 音声処理用スレッド
- perfmonitor ... パフォーマンス測定用スレッド
- videoquality ... ssim/psnr/vmaf算出用スレッド
-
スレッドアフィニティ (<string2>)
- all ... 全スレッド(制限なし)
- pcore ... performanceコアに割り当てる(hybridアーキテクチャのみ有効)
- ecore ... efficiencyコアに割り当てる(hybridアーキテクチャのみ有効)
- logical ... "#"以降に指定する論理コアに割り当て
- physical ... "#"以降に指定する物理コアに割り当て
- cachel2 ... "#"以降に指定するL2キャッシュを共有するコアに割り当て
- cachel3 ... "#"以降に指定するL3キャッシュを共有するコアに割り当て
- ... 0xの16進数で直接指定 (start /affinityと同じ)
-
使用例
例: プロセス全体を物理コア0,1,2,5,6に割り当て --thread-affinity process=physical#0-2:5:6 例: プロセス全体を論理コア0,1,2,3に割り当て --thread-affinity process=0x0f --thread-affinity process=logical#0-3 --thread-affinity process=logical#0:1:2:3 例: hybridアーキテクチャでパフォーマンス測定用スレッドをefficiencyコアに割り当て --thread-affinity perfmonitor=ecore 例: Ryzen CPUでプロセス全体を最初のCCXのみに割り当て --thread-affinity process=cachel3#0
プロセスやスレッドの優先度を設定する。[Windowsのみ有効]
-
対象 (<string1>) 設定する対象を指定する。省略された場合は"all"。
- all ... 下記すべてを対象とする
- process ... プロセス全体
- main ... メインスレッド
- decoder ... avhwデコード用スレッド
- csp ... CPUの色空間変換用スレッド
- input ... 読み込み用スレッド
- encoder ... エンコーダパイプラインのバックグラウンドスレッド
- output ... 出力用スレッド
- audio ... 音声処理用スレッド
- perfmonitor ... パフォーマンス測定用スレッド
- videoquality ... ssim/psnr/vmaf算出用スレッド
-
優先度 (<string2>)
- background, idle, lowest, belownormal, normal (default), abovenormal, highest
プロセスやスレッドのスケジューリングの方針を設定する。 [Windowsのみ有効]
-
対象 (<string1>) 設定する対象を指定する。省略された場合は"all"。
- all ... 下記すべてを対象とする
- main ... メインスレッド
- decoder ... avhwデコード用スレッド
- csp ... CPUの色空間変換用スレッド
- input ... 読み込み用スレッド
- encoder ... エンコーダパイプラインのバックグラウンドスレッド
- output ... 出力用スレッド
- audio ... 音声処理用スレッド
- perfmonitor ... パフォーマンス測定用スレッド
- videoquality ... ssim/psnr/vmaf算出用スレッド
-
優先度 (<string2>)
- unset (default) ... エンコード設定により自動的に決定
- auto ... OSに自動的に決定させる。
- on ... 電力効率を優先したスケジューリングを行う。
- off ... パフォーマンスを優先したスケジューリングを行う。
-
使用例
例: 出力スレッドとパフォーマンス測定用スレッドを電力効率を優先したスケジューリングに設定 --thread-throttling output=on,perfmonitor=on 例: メインスレッドと読み込みスレッドをパフォーマンスを優先したスケジューリングに設定 --thread-throttling main=off,input=off
使用するオプションを記載したファイルを指定する。 1行に複数のオプションを記載できるが、改行は空白として扱われるので、 ひとつのオプション名やその値が行をまたがってはならない。
ベンチマークモードを実行し、結果を指定されたファイルに出力する。
ベンチマークの対象とする"--quality"のリスト。デフォルトは"best,balanced,fastest"。"all"とすると7種類のすべての品質設定についてベンチマークを行う。
エンコード速度の上限を設定。デフォルトは0 ( = 無制限)。 複数本QSVEncでエンコードをしていて、ひとつのストリームにCPU/GPUの全力を奪われたくないというときのためのオプション。
- 使用例
例: 最大速度を90fpsに制限 --max-procfps 90
わずかな軽い負荷をかけ、エンコード中GPUクロックがアイドルクロックになるのを防止し、エンコード速度が大きく低下するのを防ぐ。OpenCLが必要。
-
mode (<string>)
- off
- auto [default]
- on
"auto"は、「dGPU使用」かつ「OpenCLフィルタを使用しない」など、本機能が有効と思われるいくつかの条件を満たすときのみ本機能を動作させる。
-
value (<int>)
省略可。目標とするダミー負荷のパーセント。値を省略した時は、0.01%程度のわずかな負荷をかける。 -
使用例
Example: この機能を無効に --avoid-idle-clock off Example: この機能を常に使用し、目標負荷を0.02%に変更する例 --avoid-idle-clock on=0.02
エンコード遅延を低減するモード。最大エンコード速度(スループット)は低下するので、通常は不要。
使用するAvsiynth.dllを指定するオプション。特に指定しない場合、システムのAvisynth.dllが使用される。
VapoursynthのPortable版を使用する際に、インストールしたフォルダを指定する。特に指定しない場合、システムにインストールされたVapoursynthが使用される。
- パラメータ
-
utf8
プロセスの文字コードとしてUTF-8を使用する。(デフォルト) -
os
プロセスの使用する文字コードをデフォルトのUTF-8から、OSで設定されている(SJIS等の)文字コードに切り替える。 通常通りOSでSJISを使用している場合に、SJISのAvisynthスクリプトを読み込ませる際に必要。プロセスの文字コードをUTF-8からOSのデフォルトのものに変更するには、 実行ファイルに埋め込まれているmanifestという情報を変更する必要がある。 このオプションを指定すると自動的に実行ファイルをコピーしてmanifestを書き換えた一時的な実行ファイルを作成し、 それを実行するようになっている。
-
各タスクの所要時間を計測し、エンコード後にログ出力を行う。
エンコーダのパフォーマンス情報を出力する。パラメータとして出力したい情報名を下記から選択できる。デフォルトはall (すべての情報)。
- 情報名
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
--perf-monitorでパフォーマンス測定を行う時間間隔をms単位で指定する(50以上)。デフォルトは 500。