NVEnc 4.09

English version of changelog>>

[NVEncC]
・音声エンコーダにオプションを引き渡せるように。
例: --audio-codec aac:aac_coder=twoloop

・パディングを付加するフィルタを追加。(--vpp-pad)

・可変フレームレートなどの場合に、中途半端なフレームレートとなってしまうのを改善。

・音声エンコード時にプロファイルを指定できるように。(--audio-profile)

・音声のほうが先に始まる場合の同期を改善。

・高ビットレートでのメモリ使用量を少し削減。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

ソースはこちら>>


スポンサーサイト



コメントの投稿

非公開コメント

No title

夜分に失礼します。

NVEncというものをAviutlで使ってみたく調べていたら
こちらに辿り着きました。

早速導入してみたのですが、マークがグレーのままでエンコードができませんでした。

環境はWin10 64bit / GTX 1080 / ドライバ398.36 です。
ドライバのクリーンインストールや別バージョンも試しましたが
変わらずです。

何が原因でしょうか?宜しくお願い致します。

Re: No title

一応環境としては使用可能なはずです。

設定画面の左上で、NVEncCのパスが正しく指定されていないとうまく動作しないので、確認いただけますでしょうか。

No title

rigayaさん

返信ありがとうございます。

確認してみましたが、セットアップを使っても手動で指定してもグレーになっております。

こちらスクリーンショットです。
https://imgur.com/a/inFwhOu

また、別のAmatsukazeというのを使っても
https://imgur.com/a/Yzs1O5i
このようにでてしまいます。

Re: No title

Amatsukazeというのは使ったことがないのでよくわかりません。

いただいたスクリーンショットを見る限り、セットアップは特に問題なさそうですが…。

エンコードの可否の判定は、

x64\NVEncC64.exe --check-hw

のようにコマンド実行しているだけなのですが、それがNVENCが実行できないと判断しているか、あるいはなんらかの原因で誤判定しているのかと思いますが、ちょっとこちらからだと原因がわからないです。

\NVEncC64.exe --check-hwを実行したときに、なにかヒントになるようなものを出力できるようにしたほうがいいかもですね…。

No title

rigayaさん

返信ありがとうございます。

一応--check-hwの実行結果載せておきます。
https://imgur.com/a/zSa3ZbB

是非使用したいので何卒宜しくお願いします。

Re: No title

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

--check-hwが正常に動作していないように見受けられましたので、原因を究明して正常に動作するようにできればと思います。

そこで、--check-hw実行時に細かくメッセージを出すようにしたバージョンを作成しました。(NVENc 4.09 テスト版.zip)
https://1drv.ms/f/s!AsYziax1Q91rg2nUETwDTr533DgS

お手数ですが、お時間のある時に上記実行ファイルで

NVEncC64.exe --check-hw

を再度実行いただき、場合によっては長くなるかもしれませんがその結果をすべて教えていただけないでしょうか。エラーの原因解明につながるかと思います。

すみませんがよろしくお願いします。

No title

rigayaさん

返信ありがとうございます。

以下実行結果です。
-----
NVEncC64TestBuild --check-hw
NVEncC (x64) 4.09 (r805) by rigaya, Jul 24 2018 22:18:28 (VC 1900/Win/avx2)
[NVENC API v8.1, CUDA 8.0]
reader: raw, avi, avs, vpy, avhw [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, MPEG1, MPEG4]
Loaded nvEncodeAPI64.dll.
check_if_nvcuda_dll_available: true
get_cpu_info: start
get_cpu_info: fin
InitCuda: device #0.
getCPUInfo: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
get_cpu_info: start
get_cpu_info: fin
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
defaultClock1: 3.600000 GHz
defaultClock2: 3.600000 GHz
getCPUMaxTurboClock: start
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
get_cpu_info: start
get_cpu_info: fin
getCPUMaxTurboClock: fin
getCPUMaxTurboClock: 4.113639 GHz
getCPUInfo: fin
getCPUInfo: fin
getGPUInfo: start
GetProcAddress: clGetPlatformIDs
GetProcAddress: clGetPlatformInfo
GetProcAddress: clGetDeviceIDs
GetProcAddress: clGetDeviceInfo
GetProcAddress: clCreateProgramWithSource
GetProcAddress: clBuildProgram
GetProcAddress: clGetProgramBuildInfo
GetProcAddress: clReleaseProgram
GetProcAddress: clCreateContext
GetProcAddress: clReleaseContext
GetProcAddress: clCreateCommandQueue
GetProcAddress: clReleaseCommandQueue
GetProcAddress: clCreateBuffer
GetProcAddress: clReleaseMemObject
GetProcAddress: clCreateKernel
GetProcAddress: clReleaseKernel
GetProcAddress: clSetKernelArg
GetProcAddress: clEnqueueTask
GetProcAddress: clEnqueueNDRangeKernel
GetProcAddress: clFinish
GetProcAddress: clEnqueueReadBuffer
GetProcAddress: clEnqueueWriteBuffer

-----
以上となります。

宜しくお願い致します。

Re: No title

原因調査にご協力いただき、ありがとうございます。

エラーの個所から、どうやら、GPUの情報の取得に使っているOpenCL関係のドライバに問題があるように思われます。

調べてみますと、同様の事例がある(*1, *2)ことから、おそらくこの問題かと思っていますが、こちらの環境では再現しないことから、確信が持てない状況です。
*1 https://github.com/HandBrake/HandBrake/issues/496
*2 https://software.intel.com/es-es/node/779227

すみませんが、下記に対策を試みたものを置きましたので、もう一度 "--check-hw"を実行いただけないでしょうか。

https://1drv.ms/f/s!AsYziax1Q91rg2nUETwDTr533DgS
ファイル: NVEncC64 4.09 対策版.zip

最後に下記のように出れば成功です。(NVEnc.auoからも使えるようになります)

Avaliable Codec(s)
H.264/AVC
H.265/HEVC



No title

rigayaさん


返信ありがとうございます。

早速試してみました。--check-hwの結果です。
-----
NVEncC64TestBuild2 --check-hw
NVEncC (x64) 4.09 (r806) by rigaya, Jul 25 2018 23:39:10 (VC 1900/Win/avx2)
[NVENC API v8.1, CUDA 8.0]
reader: raw, avi, avs, vpy, avhw [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, MPEG1, MPEG4]
Loaded nvEncodeAPI64.dll.
check_if_nvcuda_dll_available: true
get_cpu_info: start
get_cpu_info: fin
InitCuda: device #0.
getCPUInfo: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
get_cpu_info: start
get_cpu_info: fin
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
defaultClock1: 3.600000 GHz
defaultClock2: 3.600000 GHz
getCPUMaxTurboClock: start
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
get_cpu_info: start
get_cpu_info: fin
getCPUMaxTurboClock: fin
getCPUMaxTurboClock: 4.213545 GHz
getCPUInfo: fin
getCPUInfo: fin
getGPUInfo: start
GetProcAddress: clGetPlatformIDs
GetProcAddress: clGetPlatformInfo
GetProcAddress: clGetDeviceIDs
GetProcAddress: clGetDeviceInfo
GetProcAddress: clCreateProgramWithSource
GetProcAddress: clBuildProgram
GetProcAddress: clGetProgramBuildInfo
GetProcAddress: clReleaseProgram
GetProcAddress: clCreateContext
GetProcAddress: clReleaseContext
GetProcAddress: clCreateCommandQueue
GetProcAddress: clReleaseCommandQueue
GetProcAddress: clCreateBuffer
GetProcAddress: clReleaseMemObject
GetProcAddress: clCreateKernel
GetProcAddress: clReleaseKernel
GetProcAddress: clSetKernelArg
GetProcAddress: clEnqueueTask
GetProcAddress: clEnqueueNDRangeKernel
GetProcAddress: clFinish
GetProcAddress: clEnqueueReadBuffer
GetProcAddress: clEnqueueWriteBuffer
clGetPlatformIDs: crash!!! -> skipping opencl gpu detection.
getGPUInfo: fin
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.
GetProcAddress(NvEncodeAPICreateInstance): Success
nvEncodeAPICreateInstance: Success.
NvEncOpenEncodeSessionEx: Success.
nvEncDestroyEncoder: success.
Closing perf monitor...
Avaliable Codec(s)
H.264/AVC
H.265/HEVC
-----

こちらはclGetPlatformIDs: crash!!! -> skipping opencl gpu detection.
と出てしまいましたが、最後にはちゃんとAvaliable Codecsが表示されました。
aviutlなど他ので試してみましたがまだ使えないみたいです。

こちらはaviutlのログです。
-----
get_cpu_info: start
get_cpu_info: fin
Loaded nvEncodeAPI64.dll.
check_if_nvcuda_dll_available: true
get_cpu_info: start
get_cpu_info: fin
InitCuda: device #0.
getCPUInfo: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
get_cpu_info: start
get_cpu_info: fin
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
defaultClock1: 3.600000 GHz
defaultClock2: 3.600000 GHz
getCPUMaxTurboClock: start
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
get_cpu_info: start
get_cpu_info: fin
getCPUMaxTurboClock: fin
getCPUMaxTurboClock: 4.013546 GHz
getCPUInfo: fin
getCPUInfo: fin
getGPUInfo: start
GetProcAddress: clGetPlatformIDs
GetProcAddress: clGetPlatformInfo
GetProcAddress: clGetDeviceIDs
GetProcAddress: clGetDeviceInfo
GetProcAddress: clCreateProgramWithSource
GetProcAddress: clBuildProgram
GetProcAddress: clGetProgramBuildInfo
GetProcAddress: clReleaseProgram
GetProcAddress: clCreateContext
GetProcAddress: clReleaseContext
GetProcAddress: clCreateCommandQueue
GetProcAddress: clReleaseCommandQueue
GetProcAddress: clCreateBuffer
GetProcAddress: clReleaseMemObject
GetProcAddress: clCreateKernel
GetProcAddress: clReleaseKernel
GetProcAddress: clSetKernelArg
GetProcAddress: clEnqueueTask
GetProcAddress: clEnqueueNDRangeKernel
GetProcAddress: clFinish
GetProcAddress: clEnqueueReadBuffer
GetProcAddress: clEnqueueWriteBuffer
clGetPlatformIDs: crash!!! -> skipping opencl gpu detection.
getGPUInfo: fin
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.
GetProcAddress(NvEncodeAPICreateInstance): Success
nvEncodeAPICreateInstance: Success.
NvEncOpenEncodeSessionEx: Success.
nvEncDestroyEncoder: success.
Closing perf monitor...
getCPUInfo: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
get_cpu_info: start
get_cpu_info: fin
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
defaultClock1: 3.600000 GHz
defaultClock2: 3.600000 GHz
getCPUMaxTurboClock: start
getCPUDefaultClockFromCPUName: start
getCPUName: start
getCPUName1: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
getCPUName2: Intel Core i7-7700 @ 3.60GHz
getCPUName3: Intel Core i7-7700 @ 3.60GHz
getCPUName4: Intel Core i7-7700 @ 3.60GHz
getCPUName5: Intel Core i7-7700 @ 3.60GHz
getCPUName: fin
getCPUDefaultClockFromCPUName: @ 3.60GHz
getCPUDefaultClockFromCPUName: fin(1)
get_cpu_info: start
get_cpu_info: fin
getCPUMaxTurboClock: fin
getCPUMaxTurboClock: 4.113639 GHz
getCPUInfo: fin
getGPUInfo: start
GetProcAddress: clGetPlatformIDs
GetProcAddress: clGetPlatformInfo
GetProcAddress: clGetDeviceIDs
-----
とここで止まったままになります。

Re: No title

ありがとうございます。

--check-hwでは回避に成功しているので、OpenCLのドライバがなぜかおかしいのは確定のようです。

もう少し回避策を改善してみますので、お待ちください。

rigayaさん

ありがとうございます。
お待ちしております。

Re: タイトルなし

お待たせしました。GPU情報取得に使用するOpenCL関連の呼び出しのクラッシュ対策を強化したNVEnc 4.10を作成しました。
https://rigaya34589.blog.fc2.com/blog-entry-1039.html

これでエンコードのほうも問題なく動くのではないかと思います。

お時間あるときにお試しください。
プロフィール

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出力

svtAV1guiEx (ミラー)
- SVT-AV1によるAV1出力

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