QSVEncCのオプションの説明

QSVEncCのオプション説明です。QSVEncC --helpよりもわかりやすいと思います。

※2013.07.21 QSVEncC 1.05までを反映して更新。
※2013.08.06 QSVEncC 1.07までを反映して更新。
※2014.02.18 QSVEncC 1.12までを反映して更新。
※2014.04.07 QSVEncC 1.19までを反映して更新。
※2014.11.16 QSVEncC 1.27までを反映して更新。
※2014.11.20 QSVEncC 1.27の仕様変更に伴い更新。
※2015.03.14 QSVEncC 1.31までを反映して更新。
※2015.07.05 QSVEncC 2.01までを反映して更新。
※2015.07.20 QSVEncC 2.06までを反映して更新。
※2015.08.03 QSVEncC 2.08までを反映して更新。
※2015.08.04 いろいろ修正 & 追記。
※2015.08.20 QSVEncC 2.10までを反映して更新。
※2015.08.26 QSVEncC 2.11までを反映して更新。
※2015.10.09 QSVEncC 2.16までを反映して更新。
※2015.11.14 QSVEncC 2.21までを反映して更新。
※2015.11.20 QSVEncC 2.22までを反映して更新。
※2015.12.30 QSVEncC 2.26までを反映して更新。
※2016.01.17 QSVEncC 2.27までを反映して更新。
※2016.02.03 QSVEncC 2.29までを反映して更新。
※2016.02.08 QSVEncC 2.30までを反映して更新。
※2016.02.20 QSVEncC 2.34までを反映して更新。
※2016.03.08 QSVEncC 2.38までを反映して更新。
※2016.04.24 QSVEncC 2.46までを反映して更新。
※2016.05.04 QSVEncC 2.48までを反映して更新。
※2016.06.12 QSVEncC 2.51までを反映して更新。
※2016.07.09 QSVEncC 2.54までを反映して更新。
※2017.06.17 QSVEncC 2.67までを反映して更新。



-<短縮オプション名>、--<オプション名> <引数>
引数なしの場合は単体で効果を発揮。

引数のタイプは
<int>   整数で指定
この一覧の見方

<float> 小数点で指定
<string> 文字列で指定

引数の [ ] 内は、省略可能です。

--(no-)xxx
と付いている場合は、--no-xxxとすることで、--xxxと逆の効果を得る。
例1: --xxx : xxxを有効にする → --no-xxx: xxxを無効にする
例2: --xxx : xxxを無効にする → --no-xxx: xxxを有効にする



コマンドラインの例



基本的なコマンドの表記
QSVEncC.exe [Options] -i <filename> -o <filename>

入力は
・avqsv読み込み。
 - libavformatとQSVデコードを使用して読み込む。
 - QSVデコードを使用するため、最も高速。
 - QSVデコード可能なフォーマットのみ対応。

デコード対応コーデック
コーデック対応状況
MPEG2
H.264/AVC
H.265/HEVC○ (8bit/10bit)
VC-1
WMV3/WMV9×
VP8/VP9


・avsw読み込み。
- ffmpegのswデコーダを使用して読み込み。
- 多くの動画ファイルに対応可能。

・avi(vfw)読み込み。
 - YV12/YUY2/RGB24/RGB32に対応。YV12推奨。
 - YV12/YUY2読み込みについてはインタレ対応。
 - RGB24/RGB32読み込みはvppにてRGB32->NV12変換を行うため、インタレ非対応。

・avs(Avisynth)読み込み。
 - YV12に対応。それ以外はavi(vfw)に回されます。
 - 直接読み込むので高速。


・vpy(VapourSynth)読み込み。
 - YV12に対応。それ以外はavi(vfw)に回されます。
 - 直接読み込むので高速。

・yv12/nv12のraw形式かy4m(YUV4MPEG2)形式。
 - raw形式の場合、入力解像度、入力fpsの指定は必須。

出力は--formatで指定するか、拡張により自動的に決定される。拡張子なしなどの場合には、H.264/AVC Elementary Stream(ES)。


もっと実用的なコマンド
avqsv/avsw読み込み
QSVencC --audio-copy -i "<mp4(H.264/AVC) file>" -o "<outfilename.mp4>"

avqsv/avsw読み込み + インタレ解除エンコード
QSVencC --audio-copy --tff --vpp-deinterlace bob -i "<ts(mpeg2) file>" -o "<outfilename.mp4>"

avqsv/avsw読み込み + インタレ保持エンコード
QSVencC --audio-copy --tff -i "<ts(mpeg2) file>" -o "<outfilename.mp4>"

avs(Avisynth)の例 (avsやvpyはvfw経由でも読み込み可能です)
QSVencC -i "<avsfile>" -o "<outfilename.mp4>"

パイプ利用の例
プログレッシブ
avs2pipemod -y4mp "<avsfile>" | QSVencC --y4m -i - -o "<outfilename.mp4>"

インタレ
avs2pipemod -y4mt "<avsfile>" | QSVencC --y4m -i - -o "<outfilename.mp4>"

avs2pipemodからy4mでパイプ渡し。同様にffmpegからパイプ渡し、なども可能。

ffmpeg -y -i "<ソース動画>" -an -pix_fmt yuv420p -f yuv4mpegpipe - | QSVencC --y4m -i - -o "<outfilename.mp4>"

パイプで映像・音声を同時に渡して処理することも可能。
ffmpeg -y -i "<ソース動画>" -vcodec rawvideo -acodec pcm_s16le -pix_fmt yuv420p -f nut - | QSVencC --avsw -i - --audio-codec aac -o "<outfilename.mp4>"


エンコードなし出力
QSVEncをエンコードせず、QSVデコード/VPPなどに使用できます。-c rawを指定してください。
出力はy4mで、具体的には、以下のようなコマンドが実行できます。

QSVデコードのみ使用
QSVEncC --avqsv -i "<mp4ファイル>" -o - | x264 --demuxer y4m -o "<出力mp4ファイル>" -

QSVデコード + VPP使用
QSVEncC --avqsv -i "<mp4ファイル>" -o - -c raw --tff --vpp-deinterlace bob | x264 --demuxer y4m -o "<出力mp4ファイル>" -

QSV VPPのみ使用
QSVEncC -i "<avsファイル>" -o - -c raw --tff --vpp-deinterlace bob | x264 --demuxer y4m -o "<出力mp4ファイル>" -



raw H.264/ESのmux
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段階のステップが必要です。

同様にmkvttolnixに含まれるmkvmergeでmuxし、mkvに格納することもできます。



表示系オプション



-h,-? --help
ヘルプの表示

-v, --version
バージョンの表示


--check-hw
ハードウェアエンコの可否の表示

--check-lib
使用可能なIntel Media SDKのバージョンの表示

--check-features [<string>]
使用可能なIntel Media SDKの機能を表示する。
--check-features <出力ファイル名>とすることで、指定したファイルに出力し、出力後、既定のアプリケーションでそれを開く。出力ファイル名が".html"ならhtml形式、".csv"ならcsv形式、それ以外はtxt形式で出力する。
ファイル名を指定せず、単独で使用した場合は、標準出力にtxt形式で出力する。

--check-environment
QSVEncCの認識している環境情報を表示

--check-codecs
--check-decoders
--check-encoders
利用可能な音声コーデック名を表示

--check-formats
利用可能な出力フォーマットを表示

--check-protocols
利用可能なプロトコルを表示

--check-avversion
dllのバージョンを表示



エンコードの基本的なオプション



-c, --codec <string> h264(default), hevc, mpeg2, raw
エンコードするコーデックの指定。
rawではエンコードせず、y4mでの出力を行います。

-i, --input-file <filename>
入力ファイル名の設定、"-"でパイプ入力

-o, --output-file <filename>
出力ファイル名の表示、"-"でパイプ出力

読み込み方法をしてしない場合は、拡張子で自動的に判定されます。
下表のように該当する拡張子がない場合には、入力動画がQSVでデコード可能場合はavqsvリーダー、QSVでデコードできない場合はavswリーダーを使用して読み込みます。


使用される読み込み対象拡張子
Avisynthリーダーavs
VapourSynthリーダーvpy
Aviリーダー avi
y4mリーダーy4m
rawリーダーyuv
avqsv/avswリーダーそれ以外


上記のように、avqsv/avswモード使用時には、ffmpegで取り扱うことのできるさまざまなプロトコルが使用可能。例えば、以下のようなコマンドでudpからのリアルタイムエンコードができる。

-i udp://127.0.0.1:1234?pkt_size=262144^&fifo_size=1000000 --audio-codec aac -o test.ts

使用できるプロトコルは、--check-protocolで確認できる。使用方法は、上の例のようにffmpegと同様に入出力ファイル名を指定する。

各入力フォーマットの対応色空間
yuv420yuy2yuv422yuv444rgb24rgb32
raw
y4m
avi
avs
vpy
avqsv
avsw

◎ … 8bit / 9bit / 10bit / 12bit / 14bit / 16bitに対応
○ … 8bitのみ対応

--raw
入力をraw形式に設定する。
入力解像度、入力fpsの設定が必要。

--y4m
入力をy4m(YUV4MPEG2)形式に変更する。
入力解像度、入力fpsの設定が不要になる。

--avi
入力ファイルをavi(vfw)経由で読み込む。
入力解像度、入力fpsの設定が不要になる。

--avs
入力ファイルをAvisynthで読み込む。
入力解像度、入力fpsの設定が不要になる。
Avisynth読み込みはYV12専用のため、
他の形式の場合にはavi(vfw)読みが使用されます。

--vpy
入力ファイルをVapourSynthで読み込む。
入力解像度、入力fpsの設定が不要になる。
VapourSynth読み込みはYV12専用のため、
他の形式の場合にはavi(vfw)読みが使用されます。

--avqsv
avcodec + QSV decoderを使用して読み込む。
入力解像度、入力fpsの設定が不要になる。
デコードからエンコードまでを一貫してQSVで行うため高速。

--avsw
avcodecのsw decoderを使用して読み込む。
入力解像度、入力fpsの設定が不要になる。

--input-analyze <int>
libavが読み込み時に解析するファイルの時間を秒で指定。デフォルトは5。
音声トラックなどが正しく抽出されない場合、この値を大きくしてみてください(例:60)。

-f, --format <string>
muxerを使用して出力する。<string>には、出力フォーマットを指定することができる。使用可能なフォーマットは--check-formatsで確認できる。指定しない場合は、出力拡張子から自動的に決定する。H.264/Elementary Streamで出力する場合には、"raw"を指定する。

--trim <int>:<int>[,<int>:<int>][,<int>:<int>]...
指定した範囲のフレームのみをエンコードする。
例: --trim 0:1000   (0~1000フレーム目をエンコード)

--seek [<int>:][<int>:]<int>[.<int>]
書式は、hh:mm:ss.ms。"hh"や"mm"は省略可。高速だが不正確なシークをしてからエンコードを開始する。正確な範囲指定を行いたい場合は従来通り--trimで行う。
例1: --seek 0:01:15.400
例2: --seek 1:15.4
例3: --seek 75.4

--video-track <int>
エンコード対象の動画トラックを選択する。
最も解像度の高いトラックから1,2,3...、
あるいは低い解像度から -1,-2,-3,...と選択する。
デフォルトは--video-track 1、つまり最も高い解像度のものを対象とする。

--video-streamid <int>
エンコード対象の動画トラックをstream idで指定する。
例: --video-streamid 0x110

--audio-copy [<int>[,<int>]...]
avqsvリーダー使用時のみ有効。音声をmuxしながら出力する。
特に何も指定しなければ、全ての音声ストリームがコピーされる。
--audio-copy 1,2 とすれば音声トラック1,2が抽出される。(トラック番号は、1,2,3...)

--audio-codec [<int>?]<string>
音声を指定のコーデックでエンコードする。使用可能なコーデックは--check-encodersで確認できる。
[<int>?]で、対象の音声トラック(1,2,...)を指定することもできる。
例1: --audio-codec libmp3lame  (音声をmp3に変換)
例2: --audio-codec 2?aac  (音声の第2トラックをaacに変換)

--audio-bitrate [<int>?]<int>
音声をエンコードする際のビットレートをkbpsで指定する。
[<int>?]で、対象の音声トラック(1,2,...)を指定することもできる。
例1: --audio-bitrate 192  (音声を192kbpsで変換)
例2: --audio-bitrate 2?256  (音声の第2トラックを256kbpsで変換)

--audio-stream [<int>?][<string1>][:<string2>]
音声チャンネルの分離・統合などを行う。
--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

--audio-samplerate [<int>?]<int>
音声のサンプリング周波数をHzで指定する。
[<int>?]で、抽出する音声トラック(1,2,...)を指定することもできる。
例1: --audio-bitrate 44100 (音声を44100Hzに変換)
例2: --audio-bitrate 2?22050 (音声の第2トラックを22050Hzに変換)

--audio-resampler <string>
音声チャンネルのmixやサンプリング周波数変換に使用されるエンジンの指定。・
swr ... swresampler (デフォルト)
soxr ... sox resampler (libsoxr)

--audio-filter [<int>?]<string>
音声に音声フィルタを適用する。適用可能なフィルタはこちらを参照。

[<int>?]で、抽出する音声トラック(1,2,...)を指定することもできる。

例1: --audio-filter volume=0.2 (音量を下げる例)
例2: --audio-filter 2?volume=-4db (第2トラックの音量を下げる例)

--audio-file [<int>?][<string>:]<string>
avqsvリーダー使用時のみ有効。
指定したパスに音声を抽出する。出力フォーマットは出力拡張子から自動的に決定する。

[<string>:] では、出力フォーマットを指定できる。
--audio-file 2?adts:"test_out2" とすれば、拡張子なしでもadtsフォーマットで出力可能。

--audio-source <string>
--audio-copyと併用することで、外部音声ファイルをmuxする。

--audio-ignore-decode-error <int>
dropなどで音声が不完全な場合でも処理を継続できるようにする。具体的には、指定した連続する音声のデコードエラーの数をカウントし、閾値以内ならエラーを無視して処理を継続する。エラーの箇所は無音に置き換える。デフォルトは10。
0とすれば、1回でもデコードエラーが起これば処理を中断してエラー終了する。

--audio-ignore-notrack-error
指定した音声トラックがない場合に、エラー終了させず、エンコードを続行する。

--chapter <string>
指定したチャプターファイルを読み込み反映させる。
nero形式とapple形式に対応する。--chapter-copyとは併用できない。

--chapter-copy
チャプターをコピーする。avqsvリーダー使用時のみ有効。

--sub-copy [<int>[,<int>]...]
字幕をコピーする。特に何も指定しなければ、全ての字幕ストリームがコピーされる。--sub-copy 1,2 とすれば字幕トラック1,2が抽出される。(トラック番号は、1,2,3...)
avqsvリーダー使用時のみ有効。

-m, --mux-options <string1>:<string2>
mux時にオプションパラメータを渡す。<string1>にオプション名、<string2>にオプションの名前を指定する。

例として、HLS用の出力を行いたい場合には、以下のように設定する。

-i <input> -o test.m3u8 -f hls -m hls_time:3 -m hls_segment_filename:test_%08d.ts --gop-len 90

単にffmpegにformatのオプションを渡しているようなものなので、そのほかのオプションはこのあたりを参考にしてください。

--avsync <string> through(default), forcecfr
through … これまで同様、入力はCFR(固定フレームレート)を仮定し、入力ptsをチェックしない。
forcecfr … 入力ptsを見ながら、CFR(固定フレームレート)に合うようフレームの水増し・間引きを行い、音声との同期を強制的に維持できるようにする。主に、入力がvfrやRFFなどのときに音ズレしてしまう際に使用。

--tff
--bff
入力をインターレースであると設定し、--vpp-deinterlaceによりQSVEncC内でのインタレ解除を行ったり、そのままインタレ保持エンコードを行う。

--fps <int>/<int> or <float>
入力フレームレートの設定。raw形式の場合は必須。

--input-res <int>x<int>
入力解像度の設定。raw形式の場合は必須。

--output-res <int>x<int>
出力解像度の設定。入力解像度と異なる場合、自動的にIntel Media SDKでのリサイズを行う。インタレ対応のリサイズではないので注意。指定がない場合、入力解像度と同じになり、リサイズは行われない。

--fixed-func
従来の部分的にGPU EUを使用したエンコードではなく、エンコードの全工程で固定回路(Fixed Func)を使用し、完全HWエンコを行う。



フレームバッファのオプション



フレームバッファの種類
OSシステムメモリビデオメモリ
Windowssystemd3d9 / d3d11
Linuxsystemva


フレームバッファの種類の決定は、デフォルトでは自動で行われる。

Windows
QSVエンコード使用時:
dGPUが存在するシステムで、d3d9メモリが使用できない場合、d3d11メモリを使用する。
より高速なd3d9が使用可能なら、d3d9メモリを使用する。

QSVエンコードを使用しない場合 (デコードのみの場合):
ビデオメモリはQSVでの処理は高速だが、そのフレームをCPU側に転送するのが非常に遅い。このため、エンコードをせず、デコードやVPPの結果を他のアプリケーションに渡す場合、systemメモリを使用する。

Linux
安定性確保のため、systemメモリを使用する。



--disable-d3d (Win)
--disable-va (Linux)
ハードウェアエンコ時にバッファとしてビデオメモリでなく、CPU側のメモリを使用する。

--d3d9
d3d9ビデオメモリを使用する。

--d3d11
d3d11ビデオメモリを使用する。

--va
vaビデオメモリを使用する。



エンコードモードのオプション



デフォルトはCQP(固定量子化量)。

--cqp <int> or <int>:<int>:<int> (固定量子化量)
--vqp <int> or <int>:<int>:<int> (可変量子化量)
CQP(固定量子化量)、VQP(可変量子化量)モードでエンコードを行う。<Iフレーム>:<Pフレーム>:<Bフレーム>のQP値を設定。可変量子化量の場合は設定値から自動的に調整を行う。基本的にQP値は I < P < B になるように設定することをおすすめ。VQPはプログレッシブエンコード専用で、インタレ保持エンコード時は使えない。

--cbr <int> (固定ビットレート)
--vbr <int> (可変ビットレート)
--avbr <int> (適応的可変ビットレート)
--la <int> (先行探索レート制御, lookahead)
--la-hrd <int> (先行探索レート制御 (HRD互換), lookahead)
--vcm <int> (ビデオ会議モード)
ビットレートをkbps単位で指定してエンコードを行う。avbrはAPI v1.3以降で、より柔軟なビットレート配分が行える。Lookaheadは更に多くのフレームをあらかじめ解析し、最適なビットレート配分を行う。
高画質だが、Haswell(第4世代 Core ix Processor)以降でのみ使用可能。
ビデオ会議モードは、API v1.8から使用可能。
品質ベース可変ビットレートは、API v1.11から使用可能。
先行探索レート制御 (HRD互換)は、API v1.11から使用可能。

--qvbr <int>, --qvbr-q <int> (品質ベース可変ビットレート)
--qvbr-qで指定した品質をベースに、--qvbrで指定したビットレートでエンコードする。こちらもAPI v1.11から。

--icq <int> (固定品質モード)
--la-icq <int> (先行探索付き固定品質モード)
固定品質系設定。API v1.8から使用可能。
期待のモードだけど、API v1.8対応ドライバが無いため現状不明。

CBR/VBR/AVBRは容量を喰うところで映像が破綻しやすい。
Haswell以降ではLookaheadを使用可能なため、Lookaheadモードを推奨。
Haswell以前では、特定機器用エンコード、例えばBD用エンコードのような、
上限ビットレートを気にする場合があるときのみVBR/AVBRモードを使用したほうが良いと思う。
基本的にはCQP/Lookahead/ICQ/LA-ICQを推奨。




その他のエンコードオプション



--fallback-rc
使用できないレート制御モードが指定された場合に、エラー終了するのではなく、自動的により一般的にサポートされるレート制御モードにフォールバックする。ビットレート指定系なら最終的にvbrを、品質指定系なら最終的にcqpを使用する。

-a, --async-depth <int> (0-64, デフォルト: 0 (=自動))
QSVパイプラインに先行投入するフレーム数を指定する。

QSVのパイプライン(Decode, VPP, Encode)に指定量のフレームを余剰に投入する。これによりパイプラインの並列動作を容易にし、QSV/GPUの稼働率を向上させ、処理が高速化する。デフォルトでは自動で決定され、4 + 追加のパイプライン段数×2となる。(たとえば、エンコードのみなら4、エンコードとデコードなら6...)
多くすると高速化する可能性もあるが、メモリ使用量が増えるほか、キャッシュ効率が悪くなり、遅くなる可能性もある。

--avbr-unitsize <int>
AVBRモード時のビットレート配分単位を、100フレーム単位で指定する。デフォルトは90(=9000フレーム)。Intel Media SDKにもあまり説明がなく、正直よくわからない。

--maxbitrate <int>
最大ビットレート(kbps単位)。これを指定できることが、ビットレート指定モードの最大の利点。

--qp-min <int> or <int>:<int>:<int>
I:P:Bの各フレームの最小QP値を指定する。CQP/VQPでは無効。
QP値の下限を適切に設定することで、特にビットレート指定のエンコードモードで、静止画部分等に必要以上にビットレートが割り振られるのを防ぐことができる。

--qp-max <int> or <int>:<int>:<int>
I:P:Bの各フレームの最大QP値を指定する。CQP/VQPでは無効。
QP値の上限を適切に設定することで、特にビットレート指定のエンコードモードで、ビットレートを喰う場面の画質が極端に悪くなるのを防ぐことができる。

--qp-offset <int>[:<int>][:<int>]...
HEVCエンコード時に、ピラミッド参照の階層ごとにQPのオフセット値を指定する。

例: --qp-offset 1:2
ピラミッド参照の第1層目のQPを+1、 第2層目を+2。

--la-depth <int> 0(自動), 10-100
先行探索レート制御を使用した場合に、あらかじめ分析するフレームの枚数を指定する。

--la-window-size <int> 0(自動)
先行探索レート制御使用時の、上限ビットレートの計算幅をフレームの枚数で指定する。--max-bitrateと組み合わせて使用する。

--la-quality <string> auto(default), fast, normal, slow
先行探索の品質を設定する。slowになるほど遅くなるが品質が向上する。
mediumやfastでは、先行探索を縮小されたフレームで行い、高速に処理する。
slow  ... 等倍
medium ... x1/2の解像度で探索
fast    ... x1/4の解像度で探索


-u, --quality <string> best, higher, high, balanced(default), fast, faster, fastest
エンコード品質の指定。数字でもOKで、bestが1で、fastestが7。速度重視か画質重視かを決める。

--mbbrc
マクロブロック単位のレート制御を行う。

--extbrc
さらに拡張したレート制御を行う。(詳細不明)

--ref <int>
参照距離。HWエンコ時は変更しても圧縮率が低下するだけなので、指定しないことをおすすめ。

-b, --bframes <int>
連続Bフレーム数。現状では、ここで決めたBフレーム数が必ず連続する。(可変ではない)

--b-pyramid
Bフレームピラミッド参照を有効にする。

--(no-)direct-bias-adjust
BフレームのDirect/Skipモードの使用を抑制する。

--gop-len <int>
最大GOP長。HWエンコでは、シーンチェンジ検出やi-adaptを使用しない限りこの値が常に使用される。(可変ではない)

--open-gop
OpenGOPを有効にする。デフォルトはオフ。

--(no-)scenechange
シーンチェンジ検出を行い、適応的にIフレームを挿入する。わたしの書いたコードでシーンチェンジ検出を行っているため、そこそこまあまあの精度だが、多少圧縮率が向上する。プログレッシブエンコード専用で、インタレ保持エンコード時は使えない。

--i-adapt
適応的Iフレーム挿入。Iフレームがより適している箇所で、Iフレームを使用する。

--b-adapt
適応的Bフレーム挿入。Pフレームがより適している箇所で、Bフレームの代わりにPフレームを使用する。

--(no-)weightb
重み付きBフレームを有効にする。

--(no-)weightp
重み付きPフレームを有効にする。

--(no-)fade-detect
フェード検出を有効にする。

--(no-)repartition-check (H.264のみ)

--trellis <string> auto, none, i, ip, all
歪みレート最適化の適用範囲を指定する。

--mv-scaling <string>
0 ... 動きベクトルのコストを0として見積もる
1 ... 動きベクトルのコストをx1/2として見積もる
2 ... 動きベクトルのコストをx1/4として見積もる
3 ... 動きベクトルのコストをx1/8として見積もる

--slices <int>
スライス数の設定。指定なし、あるいは0で自動。

--no-deblock
H.264のデブロックフィルタを無効化する。

--level <string>
エンコードするコーデックの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
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


--profile <string>
エンコードするコーデックのプロファイルを指定する。指定しない場合は自動的に決定される。

h264: auto, Baseline, Main, High
hevc: auto, main
mpeg2: auto, Simple, Main, High


--sar <int>:<int>
SAR比 (画素アスペクト比) の指定。

--dar <int>:<int>
DAR比 (画面アスペクト比) の指定。

--bluray
BD互換となるよう、一部の内部パラメータを自動的に調整する。BD用エンコードの場合は必須。また、ビットレート指定系のエンコモードしか使用できない(CQP/VQPは使用できない)。

--crop <int>,<int>,<int>,<int>
フレームから指定ピクセル分切り落とす。左, 上, 右, 下の順に整数で指定する。

--fullrange
フルレンジYUVとしてエンコードする。

--videoformat <string>
  undef, ntsc, component, pal, secam, mac
--colormatrix <string>
  undef, bt709, smpte170m, bt470bg, smpte240m, YCgCo, fcc, GBR
--colorprim <string>
  undef, bt709, smpte170m, bt470m, bt470bg, smpte240m, film
--transfer <string>
  undef, bt709, smpte170m, bt470m, bt470bg, smpte240m, linear, log100, log316
各種フラグの設定。

--input-buf <int>
QSVEncC側で持つ、入力バッファサイズ。1~16の範囲で指定できるが、多すぎても少なすぎても遅くなる。デフォルトは3。

--output-buf <int>
出力バッファサイズを指定するオプションを追加。(--output-buf)
出力バッファサイズをMB単位で指定する。デフォルトは8、最大値は128。0で使用しない。

出力バッファはディスクへの書き込みをアプリケーション側で制御し、バッファサイズ分たまるまで書き出さないようにする。これにより、ディスクへの書き込み単位が大きくなり、エンコード中のディスクへの読み書きの混在を防ぎ、高速化が期待できる。またディスク上でのファイルの断片化の抑止も期待できる。

file以外のプロトコルを使用する場合には、この出力バッファは使用されず、この設定は反映されない。また、出力バッファ用のメモリは縮退確保するので、必ず指定した分確保されるとは限らない。

--input-thread <int>
読み込み用のスレッドのオンオフを指定する。0でオフ、1でオン。デフォルトは0(オフ)。

オンのほうがやや高速な場合が多いが、かなりCPU使用率が向上するので、デフォルトはオフ。今後、改良していきたい。

--output-thread <int>
出力スレッドを使用するかどうかを指定する。
-1 … 自動(デフォルト)
0 … 使用しない
1 … 使用する
出力スレッドを使用すると、メモリ使用量が増加するが、エンコード速度が向上する場合がある。

--min-memory
メモリ使用量を最小化する。
現時点では、"-a 1 --output-thread 0 --output-buf 0 --input-buf 1"と同じ。

--log <string>
ログをファイルに出力する。

--log-level <string>
error, warn, info(default), debug, trace
ログ出力の段階を選択する。

--max-procfps <int>
QSVの処理速度の上限を設定。デフォルトは0 ( = 無制限)。複数本QSVエンコードをしていて、ひとつのストリームにCPU/GPUの全力を奪われたくないというときのためのオプション。
例: --max-procfps 90 (→ 最大速度を90fpsに制限)

--benchmark <string>
ベンチマークモードを実行し、結果をファイルに出力する。動画ファイルの出力は行わない。

--bench-quality "all" or <int>[,<int>][,<int>]
ベンチマークでチェックする品質設定のリスト。1~7までを指定する。複数指定する場合はカンマ区切り。

デフォルトは1,4,7。"all"とすると1~7までのすべての品質設定についてベンチマークを行う。

--perf-monitor [<string>][,<string>]...
パフォーマンスモニタリングを行い、結果をcsvファイルに出力する。どのカウンタを使用するかを下記のリストから選択する。デフォルトは"all"。

--perf-monitor-plot [<string>][,<string>]...
python3系とpythonのmatplotlibのインストールが必要。
パフォーマンスモニタリングを行い、結果を別ウィンドウでリアルタイムに表示する。どのカウンタを使用するかを下記のリストから選択する。デフォルトは"cpu,bitrate"。

選択可能なカウンタ
カウンタ名説明
allすべてのカウンタ
cpu_totalトータルのCPU使用率
cpu_kernelうち、kernel時間
cpu_mainメインスレッドのCPU使用率
cpu_encエンコードスレッドのCPU使用率
cpu_out出力スレッドのCPU使用率
cpuCPU使用率すべて
gpu_loadGPU使用率
gpu_clockGPU平均周波数
gpuGPU関連すべて
mem_privateプライベートメモリ使用量
mem_virtual仮想メモリ使用量
memメモリ使用量すべて
io_readプロセスIO (Read)
io_writeプロセスIO (Write)
ioプロセスIOすべて
fpsエンコード速度 (fps)
fps_avg平均エンコード速度 (fps)
bitrateビットレート (kbps)
bitrate_avg平均ビットレート (kbps)
frame_out出力フレーム数

※GPU関連情報を取得するには、GPU-Zがバックグラウンドで動作している必要があります。

--python <string>
--perf-monitor-plotで使用するpythonのパス。デフォルト: python (環境変数依存)

--pref-monitor-interval <int>
パフォーマンス関連のデータを取得する間隔(ms)。デフォルト200、下限は50。

--(no-)timer-period-tuning
Windowsのタイマー精度を向上させ、高速化する。いわゆるtimeBeginPeriod(1)。(デフォルト: オン)



VPPオプション



--vpp-scaling <string> simple, fine
vppによるリサイズの品質を指定する。

--vpp-denoise <int>
Intel Media SDKによるノイズ除去を使用する。値の範囲は0(弱)~100(強)。実用的には0~30ぐらいまで?

--vpp-detail-enhance <int>
Intel Media SDKによるシャープフィルタのようなもの。値の範囲は0(弱)~100(強)。いわゆる基本的な細部強調フィルタで、やりすぎると酷い絵になるので注意。実用的には0~30ぐらいまで?

--vpp-deinterlace <string> none, normal, it, bob
--tff か --bff が指定されている時のみ有効。Intel Media SDKによるインタレ解除を使用する。
normalは30pへのインタレ解除。itは24pへの解除。bobは60pへの解除。正直Intel Media SDKのitは良くないので、24fps化する場合は、avisynth側で何らかの違うフィルタを使用することをおすすめする。

--vpp-image-stab <int> none, upscale, box
Intel Media SDKのImage Stablizerを使用する。効果の程は謎。

--vpp-rotate <int> 90, 180, 270
画像をそれぞれ90°, 180°, 270°回転させる。

--vpp-half-turn
フレームを半回転させる。最適化されていないのでかなり遅い。実験用。

--vpp-mirror <string> h, v
画像を鏡像反転させる。
"v"なら縦方向、"h"なら横方向。

--vpp-delogo <string>
ロゴファイルを指定する。".lgd",".ldp",".ldp2"に対応。
通常、複数のオプションを組み合わせて使用する。(ファイルにロゴがひとつの".lgd"なら不要)

例:
--vpp-delogo "logopack.ldp2" --vpp-delogo-select "TBS 1440x1080"
ロゴパックファイル "logopack.ldp2" からロゴ "TBS 1440x1080" を使用。

--vpp-delogo-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


この場合、入力ファイル名が"響け!ユーフォニアム #13 「さよならコンクール」 (BS11).ts"なら、ロゴ名"BS11 1920x1080 v3"が使用される。

--vpp-delogo-pos <int>:<int>
1/4画素精度のロゴ位置の調整。Aviutlで言うところの <位置 X>:<位置 Y>。

--vpp-delogo-depth <int>
ロゴの透明度の補正。デフォルト128。Aviutlで言うところの <深度>。

--vpp-delogo-y <int>
--vpp-delogo-cb <int>
--vpp-delogo-cr <int>
ロゴの各色成分の補正。Aviutlで言うところの <Y>, <Cb>, <Cr>。

--vpp-sub <int> or <string>
指定した字幕を焼き込む機能。

整数での指定は、入力動画ファイルの指定された字幕トラックを抽出して焼きこむモード。文字列指定での指定は、入力動画ファイルとは別の字幕ファイルを読み込んで焼きこむモード。

以下3点に注意。
・テキスト形式の字幕のみの対応。
・--sub-copyとは併用できない。
・systemメモリモードが必須のため、d3d11モードを要求する機能(--vpp-rotate等)とは併用できない。

--vpp-sub-shaping <string>
libassのshapingを設定する。simple(デフォルト)かcomplex。complexに変えてあげると、少し字がきれいになるかも。

--vpp-sub-charset <string>
字幕の文字コードを指定する。指定しない場合は自動。日本語についてはある程度自動でもよいかも。指定する場合にはこのへんを参照。




スポンサーサイト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

GeForceドライバーとQSVEncの件、了解しました。ちょっと余っているGPUをさして調べてみます。

Re: No title

すいません、少し試してみたのですが、普通に動いてしました…。GPU周りの問題は、再現できないと修正が難しいので、やはり環境をなるべく合わせて再現したいと思います。少し詳しく環境を教えていただけないでしょうか。特にグラフィック出力のつなぎ方(配線とかデュアルモニタとか)、どちらをプライマリにしているか、その辺りが絡んでいるのかもしれません。

こちらの環境は以下のとおりです。…も…もしかして8600GTは検証には古すぎるんでしょうか…。

Win7 SP1 x64
Core i7 3770K (HD Graphics 4000)
Z77チップセット
Geforce 8600GT as Primary GPU
BIOSではグラフィックス出力をPCIE優先に設定

Geforce 314.22 ドライバ
Intel 9.17.10.2932 ドライバ (API v1.4として認識)

Aviutl 0.99m
QSVEnc 0.19

グラフィック出力図
Geforce 8600GT ---[DVI-D]-→ モニタ
Intel HDG4000 ---[HDMI]-------↑

QSVencを実行すると、
qsv [info]: Intel iGPU ID 2nd GPU
として表示されています。


お手数かけますが、よろしくお願いします。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

結論から言うと、ごめんなさい、ということになってしまいました…。

なるべく教えていただいた環境に沿ったものを再現したのですが、問題なく動いてしまいました。8600GTがいけないのかと思い、違うPCのGT520も試してみたのですが、同様です。

もしかするとSandy + Z68固有で発生するものなのでしょうか…。

ここからはあてずっぽうなのですが、3つほど解決するかもしれない対処法を考えたので、試していただけないでしょうか。

1. QSVEncの設定画面左上の「ビデオメモリモード」を外して実行してみてください。少し遅くなるかもですが、問題が解消するかもしれません。

2. ダミー配線
汚くなるのが問題ですが、HDG3000になにか接続してやり、Virtuなしで2nd GPUとして動かす方法です。例えば…
HDG3000 ----[RGB]----------↓
Geforce ----[DVI-D]----> モニタ1
  |-------[RGB]-------> モニタ2

3. 1や2でもダメな場合、QSVEnc 0.07 (API v1.3までの古いバージョン)を試してみていただけないでしょうか。もしかすると…。


あまりお力になれず、お手数かけますが、よろしくお願いします。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: No title

根本的な解決ではありませんが、2の方法で対処可能だったということで、よかったです。

頂いた情報も今後参考にさせて頂きます。

Cropについて

現在、QSVEncCの入力にL-SMASH Worksをdr=1で使用しています
縦pxを1088->1080にCropする処理はAviSynth/VapourSynthで行っているのですがQSVEncC側で行うことはできるでしょうか?
QSVEncCのソースコードを見たところ、Cropすることもできそうに見えたので、もしあまり負荷がかからないようであればオプションを追加していただけるとありがたいです

Re: Cropについて

CropはAviSynth/VapourSynth側でやるのが自然なのではないかと思います。パイプを通すデータ量も減らせます。

QSVEncCでCropする理由はないように思うのですが…。

No title

特にVapourSynthでのCropが遅いので
vppでCropした方が速度が見込めるかなと思いました
ですが、rigayaさんの本意ではないようなので諦めます
ありがとうございました

QSVEncCでのCropについて

ああ、なるほど、速度的な問題があるのですね。

高速化のためにぜひ取り組みたいのですが、最近あまりまとまった時間が取れないので…、時間があるときに取り組んでみます。

Reaeme添付のお願いとffmpegの入力問題について

初めまして
QSVEnc使わせていただいてます。本当にすばらしくて、日々感謝しております。

要望ですが、このエントリの内容をReadmeにして添付していただけるとありがたいです。

またこのエントリに関連してですが、当方の環境・方法依存の問題かもしれませんが、ffmpegからの入力です、最近のバージョンのものを使うと音ずれする場合があるようです。
あるようですというか、当方では正直、この音ずれがどうにも修正できなくて困っていたりします…公式のwindowsビルドの2012/11/20~2012/11/25の間にあった修正で発生しはじめました。
それ以前のバージョンですと、この音ずれ問題は起きませんので、古いバージョンのffmpageを利用すればいいだけの話なんですが

失礼いたしましたー

Re: Reaeme添付のお願いとffmpegの入力問題について

>Readmeについて
QSVEncCのフォルダの中にQSVEncC_options.txtとして同梱しました!
QSVEncC 0.19v3としてあげておきます。

>ffmpeg
原因はちょっとわからないです。細かい方法によっても変わってきますので…。

No title

はじめまして。

QSVEncをAviutlにて使用させて頂いています。
素晴らしいソフトの作成ありがとうございます。
Core i3 3225とGA-H77N-WIFIの組み合わせで使用しています。Virtu MVPは使用していません。TSファイルのエンコードで110FPSほど速度が出ており、大変満足しています。

家族共用のパソコンで使用しており、エンコード用のアカウントと家族用のアカウントを分ける形で使用したいと思っています。
しかし、エンコード用アカウントでエンコードを走らせつつ、ユーザー切り替えを行い家族用アカウントにすると、エンコード用アカウントのQSVEncの起動が失敗してしまいます。バックグラウンドのアカウントでエンコードをしつつ、別のユーザーアカウントが通常使用するという形をとりたいと思っています。

QSVEncの実行は、デスクトップを表示しているユーザーでしかできないのでしょうか?Intel Media SDKの仕様上どうしようもないものでしょうか?

もし何か回避策ございましたら、教えて頂けると幸いです。
よろしくお願いします。

Re: No title

おっしゃるとおり、やはりデスクトップを表示しているユーザーでないと難しいようです。

色々試してみたのですが、ユーザー切り替えをしてしまうとQSV自体が無効になってしまい、回避策も見つけられませんでした。おそらくIntel Media SDKの仕様だと思います。

すみませんが、やはりエンコ中はPCを専有することになってしまうかと思います。

No title

テストして頂きありがとうございます。

やはり、Intel Media SDKの仕様で無理ですか・・・
夜中にエンコードすることで対応いたします。
もし、何らかの対策が見つかりましたら、このブログでお知らせ頂けると幸いです。

よろしくお願いします。

No title

「VQPはプログレッシブ専用で、インタレ入力時は使えない。」は今だと
「VQPはプログレッシブ専用で、インタレ出力時は使えない。」になるのかな?

Re: No title

仰るとおりです。記事更新しました。

新たなインタレ解除モード

QSVEnc 1.31で追加された「新たなインタレ解除モードを追加。(自動、自動(bob)、24fps化(固定))」を使用するときは--vpp-deinterlaceオプションになんらかの引数を使用するのでしょうか?

Re: 新たなインタレ解除モード

QSVEnc 1.31で導入した新しいインタレ解除モードを使用しようとすると、4156ドライバで動作を停止してしまうという問題があり、QSVEnc 1.33で無効化されています。
http://rigaya34589.blog135.fc2.com/blog-entry-601.html

申し訳ありませんが、現在は使用できません。

インタレ解除の専用モード

高速HWインタレ解除のことをネットで調べてたらこのサイトを見つけました。
CLIのQSVENCCはそれ以上の性能をもっているようですが、当方のIVYBRIDGEでは性能表でペケばかりで残念です。

普段(と言うかたまにしかエンコしないんですが)FFMPEGのYADIF+MCDEINTでインタレ解除してますが、とにかく遅い^^;
なので高速インタレ解除だけでもうれしいです。ってか他にツールが見当たりません。
そこでおたずねしたいのですが、インタレ解除だけして、エンコしないオプションってあるでしょうか?
FFMPEGでは-qp0に相当するやつです。よろしくお願いします。

Re: インタレ解除の専用モード

なるほど…

おもしろそうなのですが、残念ながら今のQSVEncは最後のエンコードを前提に作っているので、現状ご期待の動作はできません。

結構改造が必要で、それなりに時間がかかりそうです。

No title

ありがとうございます。
プレーヤーのHW解除は結構あるのですが、エンコもあれば理想的です。
とうめんはcqp値を低くして試してみることにします。
なんといってもQSVENCCは速い!笑ってる間に終わっている(笑

Re: No title

エンコードなしのモードをQSVEnc 2.08にて追加しました。
http://rigaya34589.blog135.fc2.com/blog-entry-654.html

"-c raw"を指定するとy4mで出てくるので、パイプを通すなどしてx264等に渡していただければと思います。

QSVEncC.exe -i <avsファイル> -o - -c raw --tff --vpp-deinterlace bob | x264 --demuxer y4m -o <出力mp4ファイル> -

使用例について

GUI版は以前から試していましたがCUI版もQSVEnc素晴らしいです

このページの"コマンドラインの例"の
"avqsv読み込み + インタレ解除エンコード"
の例("QSVEncCのオプションの説明.txt"では53行目)についてですが、
オプションが
"-vpp-deinterlace"
となっていますが、ハイフンが2つの
"--vpp-deinterlace"
ではないでしょうか。
最初に試した時にコピペしたらそんなオプション無いよと言われて少し混乱しました。
つまらない指摘で恐縮ですが自分と同じ所で躓く人がいるかもしれないので報告させていただきました。

Re: 使用例について

失礼しました。修正します。

No title

trimで指定した場所から末端までをエンコードという処理をしたかったのですが、総フレーム数調べて末尾に突っ込む以外に方法ありますでしょうか。

Re: No title

たとえば、1200フレーム目から最終フレームまでエンコードしたい場合、

--trim 1200:0

のように指定していただければと思います。

アスペクト比

TS からのエンコードに HandBrakeCLI をしばらく使っているのですが、いくつか不満点があり QSVEncC も使い始めました。素晴らしいソフトウェアを提供くださって有り難うございます。

テスト時に 1440x1080i を作成して気付いたのは、QSVEncC から直接作成した mp4 と mkv とでは再生時のアスペクト比が違うことでした。アスペクト比の決定をコーデック読みにするかコンテナ読みにするかはプレイヤーに依存すると思いますが、どうも mkv の場合コンテナ読みだと上記の例では PAR=1:1 もしくは DAR=4:3 相当になるようです。mp4 と同様、PAR=4:3 もしくは DAR=16:9 相当になると嬉しく思います。

--audio-copy で音声周りの処理が楽になると期待したのですが、デュアルモノや解説音声はやはり鬼門でした。いずれにしろ RFF 付の動画がある限り、HandBrake との併用は続きそうです。TS の扱いは難しい…

Re: アスペクト比

なるほど、mkvではSAR比が反映されない…

すこし調べてみます。

Re2: アスペクト比

mkvでSAR比が反映されない問題ですが、QSVEnc 2.26で解決できていると思います。
http://rigaya34589.blog135.fc2.com/blog-entry-725.html

ご指摘ありがとうございました。

Re: アスペクト比

早速のご対応ありがとうございます。無事反映されていることを確認いたしました。

device operation failure

度々お世話になります。
インタレ解除だけして-c rawでパイプ渡してるときに起こります。
ビデオが途中で切れてしまします。
QSVでエンコする際には起こりませんので、何かあるのかもしれません。
226最新版使ってますが、詳しくわからないものの以前からあったようです。

Re: device operation failure

すこし試してみましたが、再現できませんでした。また、device operation failureはQSVの内部エラーのため、原因がわかりづらいです…。

もしかするとdGPUがついていると不安定、みたいなことがあるかもしれません。

ご利用の環境情報、ドライバ情報、入力ファイルの種類、などを教えていただけないでしょうか?

re:device failure

非常に不定期に起こるので、errLevelをチェックしながらエンコ (この場合インタレ解除) してます。
入力ファイルはDVDのmpeg480iです。
qsvenc -i in.mpg -vpp bob -c raw | ffmpeg -i - out.mpg の形で使ってます。
長時間の処理 (6~8時間) になります。
QSV単体でエンコはあまりしませんが、経験範囲ではfailureしたことはないですね。
機種は至ってどこにでもあるラップトップ (ivy) です。
OS : Windows 8.1 (x64)
CPU: Intel Core i7-3632QM @ 2.20GHz (4C/8T) <IvyBridge>
RAM: Used 3928 MB, Total 8052 MB
GPU: Intel HD Graphics 4000 (16EU) 350-1150MHz [35W] (10.18.10.4226)
Media SDK Hardware API v1.11
古い機種で多分お持ちではないでしょうから、他の方からの報告とかに
たよらざるをえないかもしれませんね

オプションの設定方法について

地デジのロケフリシステムを作るスレから参りました。
QSVスレに誘導していただいたのですが、作者様のブログにコメントをつけさせていただくことにしました。

Vladiさんのところのバッチファイルを参考にバッチファイルを書いてみているのですが、QSVEncCの--audioオプションの設定について伺えないでしょうか。

-copy
-stream :stereo
-bitrate 128

複数のオプションを設定する際の記述方法はどのようにしたらよいのでしょうか。お時間のあるときにでも教えていただければ幸いです。よろしくお願いいたします。

Re: オプションの設定方法について

まず、先にお詫びなのですが、--audio-streamはaudio関連オプション複数指定時に期待した動作をせずエラー終了する問題があり、これを2.32で修正しました。

--audio-codec / --audio-bitrate / --audio-samplerate / --audio-stream は(同一トラックに対して)同時に指定できますが、音声再エンコードとなることから--audio-copyとは併用できません。

それ以外は同時に指定していただくことが可能です。

--audio-codec aac --audio-stream :stereo --audio-samplerate 48000 --audio-bitrate 128

上記設定は2.32以降、すべて同一の音声トラックに対し作用します。

音声トラックが複数ある場合には、オプションの前に <トラック番号>?<オプションの値>のようにしてください。トラック番号は1,2,3,...と数えてください。

--audio-codec 1?aac --audio-bitrate 1?128 --audio-codec 2?aac --audio-bitrate 2?256

No title

修正作業、お疲れ様です。
早速のご対応ありがとうございます。

併用不可の部分と複数適用時の記述方法がわかって疑問が解けました。

--audio-copyと併用はできないだろうなと思いつつうまくいかずにいろいろ試していたところでした。汗

スレの方にも報告しながらいろいろ試して楽しんでいきたいと思います。

No title

度々お世話になります。

handbrakeのCLIでは、解像度の設定時に-X 720 として横方向のみ固定設定して、縦については自動で追随?するような設定で利用しています。ソースによってエンコード後の解像度が変わってくる感じです。

QSVEncCへの置き換えにあたって、同様の設定を狙ってみているのですが、今後、QSVEncCではこのような指定方法には対応する可能性はありますか?

Re: No title

イメージとしては、縦解像度を720に設定したら、入力ファイルが4:3なら自動的に960x720に、16:9なら自動的に1280x720にする感じでしょうか?

いまのところ、そういうモードはないですが…

No title

お世話になっております。
やはり今のところはそのような機能はないのですね。

イメージとしては、縦解像度を720に設定したら、入力ファイルが4:3なら自動的に960x720に、16:9なら自動的に1280x720にする感じでしょうか?

おそらくそういう意味合いなのだと思います。

放送でのアスペクト比の問題がいまいち理解できず・・・
正確な説明にならないと思われるので、今、handbrakeで起こっている具体例を書きますね。

720xに設定したときの解像度の変化です。
左:ソース、右:エンコード後

1440x1080→720x544 (地デジ)
1440x1080→720x540 (地デジ)
1920x1080→720x400 (BS)

地デジで同じ解像度でもなぜ結果が変わってくるのかがよくわからないところではあるのですが。

Re: No title

地デジは確かに解像度そのものは1440x1080(4:3)ですが、実質は16:9なので、テレビなどではこれを引き延ばして16:9で再生しているはずです。(BSはもともと1920x1080(16:9))

リサイズするのであれば、常に16:9の解像度(1280x720, 960x540, 768x432, 640x360など)を指定してしまってよいような気がしますが…。

No title

ありがとうございます。

>リサイズするのであれば、常に16:9の解像度(1280x720, 960x540, 768x432, 640x360など)を指定してしまってよいような気がしますが…。

リサイズ前提なので、解像度は当面決めうちで行ってしまおうと思います。

音声フィルタについて

はじめまして。エンコードをいろいろ試している間にQCVEncCにたどり着きました。エンコード速度が爆速で自動化も容易なため非常に助かっています。ありがとうございます。

一部、エンコードがうまくいかなかった為コメントしました。時間があるときに返信していただければ幸いです。

地デジの.tsから.mp4にエンコードしようとしてますが、音ズレの修正を"--audio-filter adelay=<int>"で行おうとしたところ

①"--audio-copy"をオプションに付けるとエラーメッセージや警告は出ませんが音の遅延がまったくされていない(実行中のコマンドプロンプトを見てもフィルタがかかっていないのがわかる)

②"--audio-codec aac"をオプションに付けると音声が遅延がないものとあるものが二重で出力されてしまう。

といった結果になってしまいました。ちなみに音声は"--avqsv"で.ts動画から読み込みです。音ズレの原因はフレームレート変換でなくソース上の問題だと思います。使用した②のコマンドを載せておきます。

QSVEncC.exe --avqsv --audio-codec aac --audio-filter adelay=2000 --output-thread 1 --tff --vpp-deinterlace it --output-res 1280x720 --trim int:int,int:int,int:int,int:int -i "hogehoge.ts" -o "hogehoge.mp4" --log "hogehoge.txt"

Re: 音声フィルタについて

単に--audio-copyとすると音ズレしてしまうということでしょうか?

誤解をしていたら申し訳ないのですが、通常tsからmp4にエンコードする際には、音ズレの修正を明示的に行う必要はなく、単に--audio-copy ないし --audio-codec aacを使用すればよいはずです。(むしろ、adelayを入れると音ズレする事になります)

また、--audio-filterを使う際には、--audio-codec xxx が必要ですが(--audio-copyでは動作しません)、こちらでは二重になるようなことはありませんでした。

QSVEncC64.exe --avqsv -o input.ts -o output.mp4 --vpp-deinterlace normal --audio-codec aac --audio-filter adelay=2000

とするとログには、

avwriter: h264, #1:aac/2ch:adelay -> aac/2ch/192kbps => mp4

のように出力され、音声はひとつのみmuxされます。

re:音声フィルタについて

AviUtlで特定のtsファイルをエンコードすると、どうしても音ズレが発生し、結局入力プラグインをDirectShow File Readerに変更しました。
その後、どんなtsファイルでも音ズレは発生していません。私の使用環境は、DirectShow File Readerを入力プラグインの一番上に設定しています。
SplitterはK-Lite Codec Packの設定で全てLAV Splitterを使用しています。DirectShow Filterもtsファイルも同じSplitterを設定しているためか、DirectShow File Readerに問題が発生したことはありません。
DirectShow File Readerの優先度を下げた場合エラーが発生するようです。
映像を可変レートでエンコードした場合、なぜかL-SMASH Worksを使うと特定のtsファイルで音ズレが発生しました。私と同じ現象であれば、一度DirectShow File Readerを一番上に持ってきて試してください。

No title

jin様へ

tsエンコの音ズレは常に話題に登るほど聞き慣れたものですが
tsファイルの先頭を少し削って上げると正常に読めたりします
このようにtsファイル自体の問題であることも多いです
フレームレートが正常でない場合30000/1001に調整してあげることも重要

Direct Showはシークなどの問題があるので使いたいとは思わないですね
一度中間ファイルを作ってからじゃないと不安でしょうがない

L-SMASH Worksは数年前からフレームレートが誤った形で読み込まれるのが
ほぼ改善されたため、それ以来私の環境では問題は起こってないです
古いプラグインを使い続けてるのであれば更新してみるのはどうでしょう
リンクされてるffmpegの問題の可能性もゼロではないです

Direct Showは数々の手を講じた上での最後の手段と考えるのが定説というかセオリーです

re:

通りすがり様

 私がAviUtlを導入したのは1年半前TMPEGEnc Video Mastering Works6に有料のCM検出プラグインを導入するべきか検討する中で、AviUtlでは無料で且つ局ロゴ消しまでできるプラグインが存在すると知ったのがきっかけでした。
ですから導入には諸先輩方のブログを参考に、いわゆるセオリーどおりの設定をしました。
ところで、TVMW6を購入したのはH265フォーマットに対応すると聞いたためであり、当然AviUtlのエンコードも最初からX265.exeを使用する前提です。
ここで、諸先輩方があまり触れていないコーデックパックの話になります。
私は昔からK-Lite Codec Packを利用して、動画の再生はMPCを主に使います。当然H265の対応もK-Lite Codec Packで行い、利用するSplitterの設定はLAV Splitterを選択しています。tsファイルに限らずVideo入力Audio入力のfilterはDirectShow を利用する環境が、AviUtl導入前から出来上がっていたわけです。

何も知らない私が諸先輩方のブログを参考にAviUtlを導入すると当然L-SMASH WorksをFile Readerに設定します。確かに、9割以上のtsファイルでは問題がありませんでした。ところが、音ズレするtsファイルはMurdoc Cutter で前後の不要部分を切り取っても、音ズレは改善しません。
そこで最後の望みをかけて、DirectShow File Readerを頭に持ってくると全く問題がなくなりました。1年半エラーなしで使用してきたわけですが、考えて見れば当然の結果です。
システムの利用するVideo入力Audio入力のfilterとAviUtlが使用するfilterを統一したので異常が発生する原因を解消したわけです。
L-SMASH Worksが特定のファイルで音ズレを起こしたのは、システムでK-Lite Codec Packを利用しているのに、L-SMASH Worksがlibavcodecライブラリセットを利用するため特定の条件下でうまく機能しないと考えられます。
これは、私の推測でしかありませんが、x265でエンコードしたときに、特定のファイルで映像ファイルの長さが0.03~0.04秒(1フレーム分)長くなっています。映像の長さが伸びたわけではなく、1フレーム分末尾と同じフレームが最後に追加された感じです。
DirectShow File Readerを使った場合は音声ファイルにも1フレーム分無音の長さが追加されるようで音ズレは起きません。
ところが、私の場合システムがtsファイルの読み込みにLAV Splitterを使用した後、AviUtlがファイルの読み込みにlibavを使用した時に、条件によってファイルの終末処理で追加される映像のフレーム数と音声のフレーム数に差が発生し、結果として短い音声ファイルを長い映像ファイルに合わせるために音声ファイルの伸長が発生し、結果として音ズレしたファイルが作られると予想しています。
逆の見方をすれば、libavcodecライブラリセットをシステムに導入している方は、L-SMASH Worksを使った方がシステム的に安定するのではないかと想像しています。
通りすがりさんが、libavcodecライブラリセットの利用者で、L-SMASH Worksでエラーは無いよ、というのであれば、私の予想は大まかな意味で当たっていると思われます。
自分ではL-SMASH Worksもlibavcodecライブラリセットも導入する必要性を感じていないので、検証する予定が今のところありませんが、これからシステム環境を構築する予定の方がいれば、libavcodecライブラリセットとL-SMASH Worksをセットで導入して、結果を教えていただきたいところです。

音声フィルタについて_検証結果

皆様、さまざまな回答ありがとうございました。

製作者様へ

まず、”--audio-copy”使用時の音ズレの原因が特定できました。
エンコ速度と出力ファイルサイズを優先で"--vpp-deinterlace it"と"trim" を利用したため発生したと思われます。--vpp-deinterlace normal"と"trim"ではおそらく音ズレはありませんでした。(あくまで私の耳と目の判断です。)

又、製作者様の検証と同様に「QSVEncC64.exe --avqsv -i input.ts -o output.mp4 --vpp-deinterlace normal --audio-codec aac --audio-filter adelay=2000 」を実行しましたが前と同様に遅延の無い音声、遅延補正された音声両方二重で出力されてしまいました。エンコPC、再生ソフトを変更しても同様の状態でした。(私としてはインターレス解除をnormalにすれば問題だった部分は解決できたので問題ありませんが報告として挙げておきます。)

jin様へ

速度優先のためAviutlはエンコード使っていません。エンコード速度の都合上AviutlなどからQSVEncCに移ってきました。QSVEncCでは処理速度400fpsは設定によって出ました。

通りすがり様

.tsファイルの先頭はcciconvにてきれいにしたものを使っているのでそのあたりの問題は無いと思われます。

Re: 音声フィルタについて_検証結果

>>エンコ職人志望 様
解決したとのこと、良かったです。

"--vpp-deinterlace it"と"trim"はおっしゃるように非対応です。明記しておらず申し訳ありません。

「QSVEncC64.exe --avqsv -i input.ts -o output.mp4 --vpp-deinterlace normal --audio-codec aac --audio-filter adelay=2000 」について試していただきありがとうございます。よろしければ、これを実行した場合について、2点確認させていただけないでしょうか?

1.入力のtsの音声は1つでよろしいでしょうか(多重音声などではないでしょうか)

2. ログに、
avwriter: h264, #1:aac/2ch:adelay -> aac/2ch/192kbps => mp4
のような表示があると思うのですが、どのようになっていますでしょうか? (ここで二重にmuxされているか、フィルタがかかっているかなどがわかります)

>> ts読みについて
わたし個人の感想としては、別に一つの方法にこだわる必要はありませんので
1. L-SMASH Works
2. m2v.aui + ts2aac.exe
3. DGIndex
あたりを試していけば、どこかでカバーできると思います。まあ使い勝手とかもあるので、どれがいいというわけではないですが。わたしのようにFAWを使う場合は音声を分離するので、2か3が優先になると思います。

それでもだめならcciconvで先頭を削るのはもちろん有効ですし、それでも…ということならもうTMSRで無劣化再muxするなりした方がいい気がします。

adelayについて

--audio-filter の機能をつけてもらったものです。

コメントを見ていて気が付いたのですが、ffmpegのadelayはオーディオチャンネルを遅延させるものなので、トラックがモノラル以外ではadelay=2000では最初のチャンネルだけが遅延ささってしまうのでそのせいではないでしょうか?

ステレオの場合は--audio-filter "adelay=2000|2000" とする必要があると思います。

もし違っていましたらごめんなさい。

Re:Re: 音声フィルタについて_検証結果

製作者様の確認事項として

1.DGIndexとHandbreakで確認したところ音声はステレオ1トラック(ステレオは多重音声に入るのか分からなくてすみません)のみでした。

2."avwriter: h264, #1:aac/2ch:adelay -> aac/2ch/192kbps => mp4"と表示されて、音声が2重になっていました。

また、よっちゃん様の指摘のように[--audio-filter "adelay=2000|2000"]で確かに音声に遅延が発生し2重にはなりませんでした。fmpegの公式の説明でchannel = track と私が解釈してしまったために左右の音のうち片方のみが遅延し音声が2重化したと勘違いというのがことの顛末のようです。

製作者様、解決に知恵を貸してくれた皆様ありがとうございました。

Re: Re:Re: 音声フィルタについて_検証結果

情報いただきありがとうございます。

#1:aac/2ch:adelay -> aac/2ch/192kbps は、

"#1:aac/2ch"の音声トラックに"adelay"のフィルタを掛けたものを、"aac/2ch/192kbps"にエンコードするという意味で、2重にmuxしているわけではありません。

指摘いただいたように、adelayがチャンネルに対し作用することから、左右でズレが生じ、2重になってしまったものと思われます。

ともあれ、解決して良かったです。情報提供ありがとうございました。

LA-ICQモードでのIフレーム動的挿入について

QSVEncCのオプションの有効性について教えてください。
QSV(LA-ICQ)でのエンコードを行っておりますが、GOP長は300固定であり、動的な変更はIntelの仕様などの理由で不可なのでしょうか。
--i-adaptや --scenechangeの指定によって必要に応じてIフレーム挿入をしてほしいのですが、
not supported on current platformと出てオプションが無効化されてしまい、常にGOP長300フレームのファイルとなってしまいます。
以下にQSVEncCにエンコード時に投げているオプションを記載します。もしオプションの投げ方が原因の場合はご指摘いただけると幸いです。
QSVEncC64.exe -i %1 --codec h264 --avqsv -u 1 --la-icq 29 --la-depth 60 --la-quality slow --ref 4 --output-res 1280x720 --vpp-scaling fine --vpp-denoise 20 --tff --vpp-deinterlace normal --trellis auto --bframes 2 --b-pyramid --i-adapt --scenechange --audio-copy --avsync forcecfr -o %1_QSV.mp4

CPUはi3-6100T(Skylake世代)、外付けGPU無し、QSVEncCのバージョンは2.61、IntelHDグラフィックスのドライババージョンは21.20.16.4542です。

Re: LA-ICQモードでのIフレーム動的挿入について

オプションの指定方法は特に問題ありません。

--i-adaptなどの動的にGOPのフレームパターンを変更するオプションは、一応Intel Media SDKに存在するため、いつでも使用可能なよう用意していますが、いまのところ有効に動作するのを見たことがありません。オプションが有効であるかMedia SDKに聞くと無効と返ってきます(--check-features)。残念ながら、現状では固定長GOPしかないと思われます。

Re: LA-ICQモードでのIフレーム動的挿入について

rigaya様
ご確認していただきありがとうございました。
Intel Media SDK上にオプションが存在しているためコマンドとして実装しているものの、現状では有効に動作しない状態ということで了解致しました。
とりあえず固定GOP長でも概ね問題ない映像に仕上がる為、--i-adaptと--scenechangeを抜いた設定で様子見したいと思います。
今後もQSVEncの開発頑張っていただけたらと思います。

No title

現在、batファイルにファイルをドロップすると
QsvEncCのコマンドを別batファイルに追記するという頭の悪い方法で大量エンコしています。

本日今年になって初めて実行したところ、
QSVEncC64.exe(Ver2.56)がWindowsDefenderに
トロイ(Trojan:Win32/Clavior.H!cl)として削除されました。
(QSVEncC.exeは削除されない)

試しにDLしなおしても削除されます。
2.55、2.57v2以降は問題なくDLできたので偶々一致しただけでしょうが、
念のため報告させていただきます。

Re: No title

なにかの拍子に誤判定されてしまうのは残念ながら避けようがないのかもしれません。

ネットワーク上のファイルを変換できない

はじめまして、qsvenccを便利に使わせて頂いてます。

サーバー上にあるTSファイルをMP4に変換し、そのままサーバ上に書き出したいのですが、どうもローカルドライブ以外で読み書きをしようとするとエラーが出てしまうようです。
ネットワークドライブに割り当ててもダメでした。
これは仕様上仕方がないものでしょうか?

それとステレオ2カ国語の音声の、Lチャンネルのみ音声にしたいのですが、 --audio-stream FR:mono と引数を指定しても、無音になってしまいます。
これは指定の仕方を間違っているのでしょうか?

もしわかるようであれば教えて頂けると助かります!

Re: ネットワーク上のファイルを変換できない

すみません、ネットワークドライブにしてあげれば、問題なく動作可能、という認識でした。というのも、うちでも基本はネットワークドライブ上のデータばかりエンコードしているためです。

ただ、ネットワークドライブといってもいわゆるNASではなく、Windows PCのネットワーク共有なのですが…その差なのでしょうか…。ただそうなってくると普通のNASは持っていないので、対応が難しいですが…。

>Lチャンネルのみ音声にしたいのですが
こちらでも再度確認してみましたが、

QSVEncC.exe -i world_nhkbs.ts -o test.mp4 --audio-codec aac --audio-stream FR:mono

で問題なく片方の音声のみmonoの動画となりました。

お手数ですが、dll等も含めて最新版となっているか、ご確認いただけないでしょうか? (あるいはエンコード対象の問題?)

その後

こんにちは、返信ありがとうございます。
その後いろいろ試したところ、ネットワーク経由は問題なくできました、私のミスだったようです、すみません。

それと二ヶ国語を主音声だけにする方法についても、上手くいきました。
私がやっていた時は --audio-copy を指定していて、それがマズかったようです。
またCSの変換では音が短くなってしまう現象があったのですが、 -avsync forcecfrで回避できました。

色々とお手数をおかけして申し訳ありません。
他にも困った現象があるのですが、コマンドをよく精査してからまた相談させて頂ければ幸いです。

無事できました&諸問題

QSVEncc、いい具合に動作するようになりました。本当に素晴らしいツールをありがとうございます。

最終的にコマンドはこんな感じに落ち着きました。

■二か国語でない場合
-i [tsfile] -o [mp4file] --la-icq 35 --fallback-rc --vpp-deinterlace normal --tff --avsync forcecfr --audio-codec aac

■二か国語の場合、主音声のみにする
-i [tsfile] -o [mp4file] --la-icq 35 --fallback-rc --vpp-deinterlace normal --tff --avsync forcecfr --audio-codec aac --audio-stream FL:mono

CSでは後半に行くに従い音ズレがあったのですが、--avsync forcecfrで解決できました。ただ、-deinterlace bob が使えなくなってしまうため、画質が落ちてしまうのが残念です。

それといくつかファイルを変換していると、いくつかのファイルでこんなログを吐き続けることがありました。

[90.4%] 52143 frames: 116.36 fps, 3108 kb/s, remain 0:00:48
[90.5%] 52232 frames: 116.35 fps, 3113 kb/s, remain 0:00:47
Big Gap was found between 2 frames (52367 - 52368), avsync might be corrupted.
Big Gap was found between 2 frames (52369 - 52370), avsync might be corrupted.
Big Gap was found between 2 frames (52371 - 52372), avsync might be corrupted.
[90.6%] 52321 frames: 115.90 fps, 3116 kb/s, remain 0:00:47
[90.6%] 52321 frames: 113.05 fps, 3116 kb/s, remain 0:00:48
[90.6%] 52321 frames: 109.27 fps, 3116 kb/s, remain 0:00:50
Failed to SynchronizeFirstTask : device operation failure.
Error in encoding pipeline. : device operation failure.
error at encode thread.
error at encode thread.
error at encode thread.


既知の問題でしたら申し訳ございません。

このツールのおかげで非常に助かりました。重ね重ね本当にありがとうございます。

Re: 無事できました&諸問題

>> Big Gap was found between 2 frames (52367 - 52368), avsync might be corrupted.

これはなかなか難しいエラーで、出ないといいなあぐらいに思っていました。出てしまうといずれ破綻してエラー終了してしまうと思います。

CSのデータはちょっと手にはいらないので確認しようがないのと、再現できても対処は難しいかも…というのが現状です。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: まじぽか太郎様

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (ミラー使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR