NVEncのプラグインの仕様について
なんとなくのぞいてみたところ、見かけたのでNVEncのプラグインの仕様について。
前提
AviutlのNVEncプラグインでは、環境(GPU)などによる設定画面での入力制限は全くやっていませんし、今後も実装するつもりはありません。
例えば、H.264エンコでweightpとBフレームは現状両立しませんが、設定画面上で両方指定することは可能です。また、たとえBフレームに非対応のGPUをお使いの場合でも、Bフレームの設定を制限することはありません。
これらの問題は、実行時にメッセージとともに使用できない機能を自動的に無効化するか、あるいはエラー終了するかのどちらかで解決しています。いちいち使う人がなにが使えてなにが使えないかを把握するのは面倒だと思うので、多くの場合は前者で処理するようにしています。
※つまるところ、プラグイン側は愚直にコマンドラインを生成するだけ。
例: H.264エンコでweightpとBフレームは使用できない
使用しようとした場合、下のメッセージとともに、weightpを自動的に無効化して処理を続行します。(Bフレーム優先)
"weighted prediction with B frames unsupported."
このあたりのメッセージは、NVEncC実行時のほうが色が変わるのでわかりやすいです。
NVEncC64
NVEnc.auo
ちょっと探すの大変ですが、さりげなくメッセージは出ています。(こっちは色変えるのはちょっと難しいです)
bref-modeについて
NVEnc 5.12で、この機能が利用可能かどうかについて、middleとeachを区別して判定するようにしました。
H.264では基本的にmiddleしか使用できないようです。(なので従来使えているように見えたのがよくなかった)
このあたりの情報は、--check-featuresにより確認可能ですし、また下記リンクにも置いてあります。(bref-modeについては、"B Ref Mode"行を参照)
GTX1060
RTX2070
前提
AviutlのNVEncプラグインでは、環境(GPU)などによる設定画面での入力制限は全くやっていませんし、今後も実装するつもりはありません。
例えば、H.264エンコでweightpとBフレームは現状両立しませんが、設定画面上で両方指定することは可能です。また、たとえBフレームに非対応のGPUをお使いの場合でも、Bフレームの設定を制限することはありません。
これらの問題は、実行時にメッセージとともに使用できない機能を自動的に無効化するか、あるいはエラー終了するかのどちらかで解決しています。いちいち使う人がなにが使えてなにが使えないかを把握するのは面倒だと思うので、多くの場合は前者で処理するようにしています。
※つまるところ、プラグイン側は愚直にコマンドラインを生成するだけ。
例: H.264エンコでweightpとBフレームは使用できない
使用しようとした場合、下のメッセージとともに、weightpを自動的に無効化して処理を続行します。(Bフレーム優先)
"weighted prediction with B frames unsupported."
このあたりのメッセージは、NVEncC実行時のほうが色が変わるのでわかりやすいです。
NVEncC64
NVEnc.auo
ちょっと探すの大変ですが、さりげなくメッセージは出ています。(こっちは色変えるのはちょっと難しいです)
bref-modeについて
NVEnc 5.12で、この機能が利用可能かどうかについて、middleとeachを区別して判定するようにしました。
H.264では基本的にmiddleしか使用できないようです。(なので従来使えているように見えたのがよくなかった)
このあたりの情報は、--check-featuresにより確認可能ですし、また下記リンクにも置いてあります。(bref-modeについては、"B Ref Mode"行を参照)
GTX1060
RTX2070