[NVEncC]・vpp-delogoに透過性ロゴ(改)の自動フェード・自動NR機能を仮実装。自動フェード・自動NR機能は結構複雑なのでGPUに載せにくいのだけど、これをなんとか動くようにしてみた。合わせてオプションの指定方法を変更(
こちら)。
使い方はこんな感じ。(長いけど…)
--vpp-delogo logodata.ldp2,select=delogo.auf.ini,auto_fade=true,auto_nr=true,nr_value=3,nr_area=1
ただし、純粋に自動フェード・自動NRのみのある程度簡素化した実装になっていて、
オリジナルの機能はすべて載せることはできていない。
例えば、プロファイルやカット編集の切り替わりを考慮する機能や、範囲指定して自動フェードのオンオフ等を切り替える機能、さらにロゴのON/OFF切り替わりシーンに基づいてロゴOFF区間をカットする機能とかは対応していない。
また、オリジナルと完全に同じ処理をしているわけではないので、同じ結果にはならないと思う。
あと、まだわりと遅いくて、自動フェードや自動NRを有効にすると、がくんと処理速度が落ちてしまう。現時点ではとりあえず動くものを実装しただけなので、速度の問題のほうは工夫する余地がまだ結構残っていると思っているので、今後頑張ってみたい。
というわけで、まだまだな感じもするけど、ひとまず動きますよ…ということで。コミケ終わったから再調整始めます。
ダウンロード>>ダウンロード (ミラー) >>OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。ソースはこちら>>
スポンサーサイト
delogo実装ありがとうございます!
高速化も楽しみです^^
NVEncを固定品質モード(固定量子化量ではない)で使いたいです。
以下のように設定すれば固定品質モードでエンコードしてくれているように見えます。指定の仕方はこれであっているでしょうか?
--vbrhq 0 --vbr-quality 32
ドキュメントを見てもvbrhqのビットレート値のところに何を入れれば良いのか分かりませんでした。
NVENCのプログラミングガイド3.8.3 Rate controlにある"Target quality"モードが使えればと思いまして。
あと、このモードについての記述がNVEncCのドキュメントにないのは何か理由があるのでしょうか?(もし私が見落としてるだけだったらすみません。)
全然使えないモードだったり??
ご教授頂ければ幸いです。よろしくお願いいたします。
固定品質モードですが、ご指摘の方法でよろしいかと思います。
NVEncCのドキュメントにないのは、一応NVENCのSDK上では、これがビットレート指定モードの一部だからです。(「Rate control」としてはずばり固定品質モードというのはなく、vbrhqでビットレートを指定しない(つまり0)、という形が必要です)
いつもプラグインのご提供ありがとうございます。
NVEncを初めて使用してみたのですが、エラーでエンコが途中終了してしまいます。アドバイス頂けたら幸いです。
同じPC環境、同じ元ファイルで従来からx264guiEx2、X265guiExでは問題なくエンコできております。(各フィルタ有り)
他のフィルタ影響を排除する為、別フォルダにaviutl1.00とNVEnc4.12のみインストールしなおした環境でNVEncを試したのですが、やはり同じエラーが出てしまいます。
PC環境
Windows10 x64
Intel Core i7 4770
GeForce GTX 1070Ti
16GB
NVIDIA グラフィックドライバ 398.26
Aviutl 1.00
元データ:aviファイル 1920x1080
他フィルタ設定:なし
NVEnc 4.12
インストール:auo_setup.exe使用
エンコ設定:avi読み込み→拡張NVEnc出力
出力:mp4、プロファイルはHEVCビットレート指定(デバッグログ出力のみチェック、他変更なし)
ログ
------------------------------------------------------------------------------------------------------------------------------
[H:\enc\test7.mp4]
------------------------------------------------------------------------------------------------------------------------------
auo [info]: converting YUY2 -> nv12p, using AVX AVX2
auo [info]: NVEncC options...
-d 0 -c hevc --vbr 5000 --max-bitrate 17500 --qp-init 20:23:25 --gop-len auto -b 0 --vpp-delogo --log-level debug -o
"H:\enc\test7.265" --y4m -i -
auo [info]: qaac (v2.67) で音声エンコードを行います。 ABR (AAC) ビットレート指定, 256kbps
auo [info]: ".\exe_files\qaac.exe" -q 2 --abr 256 --ignorelength -o "H:\enc\test7_audio.m4a" "-"
Loaded nvEncodeAPI64.dll.
GPUAutoSelect: Success.
raw/y4m reader selected.
InitInput: input selected : 2.
y4m: output to stdout.
y4m: 1920x1080, pitch:1920, bufferSize:3110400.
y4m: y4m(nv12)->nv12 [AVX2], 1920x1080, 30000/1001 fps
InitInput: Success.
InitCuda: device #0.
cuInit: Success.
cuDeviceGetCount: Success.
cuDeviceGet: ID:0.
cuDeviceComputeCapability: Success: 6.1.
NVENC capabilities: OK.
using cuda schedule mode: auto.
cuCtxCreate: Success.
cuCtxPopCurrent: Success.
cuvidInit: Success.
cuvidCtxLockCreate: Success.
InitCuda: Success.
nvEncodeAPICreateInstance: Success.
NvEncOpenEncodeSessionEx: Success.
InitNVEncInstance: Success.
Eanble NVML Monitoring
Performace Monitor: none
Performace Plot : none
createDeviceFeatureList: Success.
InitDecoder: Success.
y4m: Closing...
y4m: Close...
nvEncDestroyEncoder: success.
Closing perf monitor...
auo [error]: NVEncCが予期せず途中終了しました。NVEncCに不正なパラメータ(オプション)が渡された可能性があります。
auo [info]: 音声処理の終了を待機しています...
auo [info]: CPU使用率: Aviutl: 21.38% / NVEnc: 12.36%
auo [info]: NVEncエンコード時間 : 0時間 0分 1.9秒
auo [info]: 音声処理の終了を待機しています...
auo [info]: qaac CPU使用率: 0.63%
auo [info]: 総エンコード時間 : 0時間 0分 2.1秒
auo [info]: エンコードを中断しました。
2018年8月18日 23時18分 エンコード終了
-------------------------------------------------------------------------------------
クリーン環境でのなるべく素で確認するなどしたのですが、原因と対策が分かりません。お手数ですが、エラー原因やアドバイスがありましたらご教授いただければ幸いです。
コメントありがとうございます。
報告いただいた件ですが、申し訳ありません、4.12のバグかと思います。4.13で修正できているかと思いますので、お手数ですがあぷでーといただけますでしょうか。
https://rigaya34589.blog.fc2.com/blog-entry-1047.html