NVEnc 3.27

English version of changelog>>

[共通]
・色調補正フィルタを追加。(vpp-tweak)
輝度、コントラスト、ガンマ、色相、彩度の調整用。

・--vpp-deinterlace bobを使用時に、ビットレートが半分として表示されてしまうのを修正。
・同時エンコードが2までに制限されていることのエラーメッセージを強化。

[NVEnc.auo]
・リソース開放がうまく行われていなかったのを修正。
・デバッグログ出力を設定画面から有効にできるように。

[NVEncC]
・不適切なデバイスIDを指定したときに、自動的にデバイスを変更するように。
・vpp-delogoが正常に動かなくなっていたのを修正。
・avsからのyuv420/yuv422/yuv444の高ビット深度読み込みに対応。
ただし、いわゆるhigh bitdepth hackには対応しない。



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

ソースはこちら>>





NVEnc.auo(3.27)リソース漏れの有無の確認



確認方法
1080pエンコード(設定=デフォルト, 5203フレーム, 2分53秒)をバッチ出力で5回連続実行

環境
Win10 (1709) x64
i7 7980xe
メモリ 16GB
GTX1060 6GB
ドライバ 388.31
Aviutl 1.00
NVEnc 3.27

◎ エンコードセッションの開放確認
・デバッグログ出力にチェック
・エンコード終了時、エンコードセッションの開放を示す"nvenc [info]: nvEncDestroyEncoder: success."が表示されることを確認した


nvenc [info]: createDeviceFeatureList: Success.
nvenc [info]: InitDecoder: Success.
nvenc [info]: InitFilters: Success.
nvenc [info]: SetInputParam: Success.
nvenc [info]: m_pEncodeAPI->nvEncInitializeEncoder: Success.
nvenc [info]: CreateEncoder: Success.
nvenc [info]: AllocateIOBuffers: Success.
nvenc [info]: bitstream: Opened file "F:\temp\sample_movie_1080p.264"
nvenc [info]: bitstream: Added 8 MB output buffer.
nvenc [info]: Output: Initialized bitstream writer.
nvenc [info]: InitOutput: Success.
nvenc [info]: NVEnc (x86) 3.27 (r700) by rigaya, Jan 7 2018 21:47:36 (VC 1900/Win/avx2)
nvenc [info]: OS Version Windows 10 x64 (16299)
nvenc [info]: CPU Intel Core i9-7980XE @ 2.60GHz [TB: 4.01GHz] (18C/36T)
nvenc [info]: GPU #0: GeForce GTX 1060 6GB (10 EU) @ 1708 MHz (388.31)
nvenc [info]: NVENC / CUDA NVENC API 8.0, CUDA 9.1, schedule mode: auto
nvenc [info]: Input Buffers CUDA, 36 frames
nvenc [info]: Input Info auo(yuy2)->nv12 [AVX2], 1920x1080, 30000/1001 fps
nvenc [info]: Vpp Filters copyHtoD
nvenc [info]: Output Info H.264/AVC high @ Level auto
nvenc [info]: 1920x1080p 1:1 29.970fps (30000/1001fps)
nvenc [info]: Encoder Preset default
nvenc [info]: Rate Control CQP I:20 P:23 B:25
nvenc [info]: Lookahead off
nvenc [info]: GOP length 300 frames
nvenc [info]: B frames 3 frames
nvenc [info]: Ref frames 3 frames, LTR: off
nvenc [info]: AQ off
nvenc [info]: Others mv:auto cabac deblock adapt-transform:auto bdirect:auto
nvenc [info]:
nvenc [info]: Flushed Encoder
nvenc [info]: bitstream: Closing...
nvenc [info]: bitstream: Closed file pointer.
nvenc [info]: bitstream: Closed.
nvenc [info]: encoded 5203 frames, 127.38 fps, 18173.62 kbps, 376.11 MB
nvenc [info]: frame type IDR 18
nvenc [info]: frame type I 18, total size 5.91 MB
nvenc [info]: frame type P 1301, total size 157.15 MB
nvenc [info]: frame type B 3884, total size 213.05 MB
auo [info]: NVEnc エンコード : 0時間 0分42.2秒
nvenc [info]: unknown: Closing...
nvenc [info]: unknown: Close...
nvenc [info]: nvEncDestroyEncoder: success.
nvenc [info]: Closing perf monitor...


◎ メモリ使用量の確認(ProcessHacker使用)

メモリ使用量の推移
エンコードは5回成功しており(5つの山)、また、メモリ使用量(private memory)が各回でほぼ同じ → メモリ使用量が回を追うごとに増加したりはしていない


5回エンコード終了時の最終的なメモリ使用量
private memory: 497.46MB (Peak 894.23MB)
virtual memory: 1.04GB (1.48GB)
→ 問題なさそう


システムのメモリ使用量 (タスクマネージャ)
システムメモリは16GB




2並列エンコード x5 ( = 10のバッチ出力) → 正常終了


スポンサーサイト



コメントの投稿

非公開コメント

インストーラーがない

インストーラー関係ファイルが抜けています
現在エンコーダーとiniファイルをコピペして
3本連続バッチ処理にて試験中

暫定でですが

20秒くらいのファイルの保存をすると2回目以降エラーで保存できません
バッチ処理も同じく

連続実行の結果

ご対応ありがとうございます。

NVEnc_3.27のauo_setup.exeを使用してアップデートしました。(設定ファイル、プロファイルは元のを流用)

そのうえでAviutlのバッチに同ソース同設定を5本設定して連続エンコードしてみました。
ソースは、1920x1080 全編30分を、前後切り詰めて1:59ににしています。

並列なしの場合
oooxx

2並列の場合
先に開始 oooxx
後に開始 ooxxx

xの際に出たエラーメッセージは共に下記でした。
nvenc [error]: nvEncOpenEncodeSessionEx() がエラーを返しました。: 10 (NVENC indicates that the API call failed because it was unable to allocate enough memory to perform the requested operation.)
nvenc [error]: このエラーはメモリが不足しているか、同時にNVEncで3ストリーム以上エンコードしようとすると発生することがあります。
nvenc [error]: Geforceでは、NVIDIAのドライバの制限により3ストリーム以上の同時エンコードが行えません。
nvenc [error]: NVENCのインスタンス作成に失敗しました。
auo [info]: 総エンコード時間 : 0時間 0分 0.7秒

ご確認いただけると幸いです。

Re: 連続実行の結果

5回連続でエンコードなどを行い、確認していますが、現象が再現できません。

ひとまず、並列なしで実行した場合の結果を記事中に追記しました。また2並列を5回連続実行 (計10回の出力)した場合でも正常終了することも確認しています。

エンコードセッションが解放されているかどうか、またメモリ使用量が回を追うごとに増加していないかを確認しましたが、特に問題なさそうで、原因がよくわからない状況です。

Re: 連続実行の結果

検証ありがとうございます。

Driverのバージョンが388.71だったので388.31に下げて、Aviutlを入れ直して最少のプラインで挑んだのですが、2本目でエラーが出ました。

ProcessHacker確認してみましたが、エンコード前後のメモリ消費量ほぼ同じなので、物理メモリは開放できていそうです。

原因不明ですね。環境差異はOSとCPUかな。

長くて申し訳ないのですが、ログを貼っておきます。
nvenc [info]: Loaded nvEncodeAPI.dll.
nvenc [info]: GPUAutoSelect: Success.
nvenc [info]: unknown: auo(yuy2)->nv12 [AVX], 1920x1080, 30000/1001 fps
nvenc [info]: InitInput: Success.
nvenc [info]: InitCuda: device #0.
nvenc [info]: cuInit: Success.
nvenc [info]: cuDeviceGetCount: Success.
nvenc [info]: cuDeviceGet: ID:0.
nvenc [info]: cuDeviceComputeCapability: Success: 6.1.
nvenc [info]: NVENC capabilities: OK.
nvenc [info]: using cuda schedule mode: auto.
nvenc [info]: cuCtxCreate: Success.
nvenc [info]: InitCuda: Success.
nvenc [info]: nvEncodeAPICreateInstance: Success.
nvenc [info]: NvEncOpenEncodeSessionEx: Success.
nvenc [info]: InitNVEncInstance: Success.
nvenc [info]: Performace Monitor: none
nvenc [info]: Performace Plot : none
nvenc [info]: createDeviceFeatureList: Success.
nvenc [info]: InitDecoder: Success.
nvenc [info]: InitFilters: Success.
nvenc [info]: SetInputParam: Success.
nvenc [info]: m_pEncodeAPI->nvEncInitializeEncoder: Success.
nvenc [info]: CreateEncoder: Success.
nvenc [info]: AllocateIOBuffers: Success.
nvenc [info]: bitstream: Opened file "D:\****.264"
nvenc [info]: bitstream: Added 8 MB output buffer.
nvenc [info]: Output: Initialized bitstream writer.
nvenc [info]: InitOutput: Success.
nvenc [info]: NVEnc (x86) 3.27 (r700) by rigaya, Jan 7 2018 21:47:36 (VC 1900/Win/avx2)
nvenc [info]: OS Version Windows 7 x64 (7601)
nvenc [info]: CPU Intel Core i7-3770 @ 3.40GHz [TB: 3.90GHz] (4C/8T)
nvenc [info]: GPU #0: GeForce GTX 1060 6GB (10 EU) @ 1759 MHz (388.31)
nvenc [info]: NVENC / CUDA NVENC API 8.0, CUDA 9.1, schedule mode: auto
nvenc [info]: Input Buffers CUDA, 36 frames
nvenc [info]: Input Info auo(yuy2)->nv12 [AVX], 1920x1080, 30000/1001 fps
nvenc [info]: Vpp Filters copyHtoD
nvenc [info]: Output Info H.264/AVC high @ Level auto
nvenc [info]: 1920x1080p 1:1 29.970fps (30000/1001fps)
nvenc [info]: Encoder Preset default
nvenc [info]: Rate Control CQP I:20 P:23 B:25
nvenc [info]: Lookahead off
nvenc [info]: GOP length 300 frames
nvenc [info]: B frames 3 frames
nvenc [info]: Ref frames 3 frames, LTR: off
nvenc [info]: AQ off
nvenc [info]: Others mv:auto cabac deblock adapt-transform:auto bdirect:auto
nvenc [info]:
nvenc [info]: Flushed Encoder
nvenc [info]: bitstream: Closing...
nvenc [info]: bitstream: Closed file pointer.
nvenc [info]: bitstream: Closed.
nvenc [info]: encoded 300 frames, 31.69 fps, 12105.88 kbps, 14.45 MB
nvenc [info]: frame type IDR 1
nvenc [info]: frame type I 1, total size 0.09 MB
nvenc [info]: frame type P 75, total size 4.85 MB
nvenc [info]: frame type B 224, total size 9.51 MB
auo [info]: NVEnc エンコード : 0時間 0分10.3秒
nvenc [info]: unknown: Closing...
nvenc [info]: unknown: Close...
nvenc [info]: nvEncDestroyEncoder: success.
nvenc [info]: Closing perf monitor...
auo [info]: L-SMASH muxer (r1453)でmuxを行います。映像: on, 音声:off, tc:off, chap:off, 拡張モード:なし
auo [info]: 総エンコード時間 : 0時間 0分11.1秒


------------------------------------------------------------------------------------------------------------------------------
[D:\****.mp4]
------------------------------------------------------------------------------------------------------------------------------
nvenc [info]: Loaded nvEncodeAPI.dll.
nvenc [info]: GPUAutoSelect: Success.
nvenc [info]: unknown: auo(yuy2)->nv12 [AVX], 1920x1080, 30000/1001 fps
nvenc [info]: InitInput: Success.
nvenc [info]: InitCuda: device #0.
nvenc [info]: cuInit: Success.
nvenc [info]: cuDeviceGetCount: Success.
nvenc [info]: cuDeviceGet: ID:0.
nvenc [info]: cuDeviceComputeCapability: Success: 6.1.
nvenc [info]: NVENC capabilities: OK.
nvenc [info]: using cuda schedule mode: auto.
nvenc [info]: cuCtxCreate: Success.
nvenc [info]: InitCuda: Success.
nvenc [info]: nvEncodeAPICreateInstance: Success.
nvenc [error]: nvEncOpenEncodeSessionEx() がエラーを返しました。: 10 (NVENC indicates that the API call failed because it was unable to allocate enough memory to perform the requested operation.)
nvenc [error]: このエラーはメモリが不足しているか、同時にNVEncで3ストリーム以上エンコードしようとすると発生することがあります。
nvenc [error]: Geforceでは、NVIDIAのドライバの制限により3ストリーム以上の同時エンコードが行えません。
nvenc [error]: NVENCのインスタンス作成に失敗しました。
nvenc [info]: unknown: Closing...
nvenc [info]: unknown: Close...
nvenc [info]: Closing perf monitor...
auo [info]: 総エンコード時間 : 0時間 0分 0.6秒

H.265のエラーログ

エラー後AVIUTLのNVenc設定タブから情報が消えてます
ドライバーがGPUを見失う?
ドライバVr.388.71
win7 64 pro
------------------------------------------------------------------------------------------------------------------------------
[D:\エンコワーク\映画「君の名は。」 18年01月03日_HD.mp4]
------------------------------------------------------------------------------------------------------------------------------
nvenc [info]: Loaded nvEncodeAPI.dll.
nvenc [info]: GPUAutoSelect: Success.
nvenc [info]: unknown: auo(yc48)->p010 [AVX], 1440x1080, 30000/1001 fps
nvenc [info]: InitInput: Success.
nvenc [info]: InitCuda: device #0.
nvenc [info]: cuInit: Success.
nvenc [info]: cuDeviceGetCount: Success.
nvenc [info]: cuDeviceGet: ID:0.
nvenc [info]: cuDeviceComputeCapability: Success: 6.1.
nvenc [info]: NVENC capabilities: OK.
nvenc [info]: using cuda schedule mode: auto.
nvenc [info]: cuCtxCreate: Success.
nvenc [info]: InitCuda: Success.
nvenc [info]: nvEncodeAPICreateInstance: Success.
nvenc [error]: nvEncOpenEncodeSessionEx() がエラーを返しました。: 10 (NVENC indicates that the API call failed because it was unable to allocate enough memory to perform the requested operation.)
nvenc [error]: このエラーはメモリが不足しているか、同時にNVEncで3ストリーム以上エンコードしようとすると発生することがあります。
nvenc [error]: Geforceでは、NVIDIAのドライバの制限により3ストリーム以上の同時エンコードが行えません。
nvenc [error]: NVENCのインスタンス作成に失敗しました。
nvenc [info]: unknown: Closing...
nvenc [info]: unknown: Close...
nvenc [info]: Closing perf monitor...
auo [info]: 総エンコード時間 : 0時間 0分 0.8秒

2018年1月8日 15時55分 エンコード終了
-------------------------------------------------------------------------------------

No title

リソース漏れは一通り見たので、ちょっと原因不明となってしまいそうです。

気になるのはお二人ともWin7環境なことですが、Win7環境は手元からはなくなってしまったので、試してみるのは難しいです。

WIN10で連続エンコ

2500KのOSを7から10へ変更(WIN10を導入したHDDを起動ドライブにしただけ)
OSだけ10になった状態で同じAVIUTLを使い
連続13本のエンコをしました
何も問題なく終了しまいした
GTX1070のドライバーはOSにお任せ状態
WIN7のビデオドライバーに問題があるのかも知れない。

Re: WIN10で連続エンコ

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

そうすると、おっしゃるようにやはりドライバのWin7版が怪しいと思います。正しくリソースを解放されないなどの問題があるのかもしれません。

No title

お世話になります。

x264guiExのときと同じく、
やはりNVEncでも
設定画面の右側の一部が欠けており、
[ OK ]が出ておりません。

ご対応いただけると助かります。
よろしくお願いいたします。

Re: No title

NVEnc側も修正できたと思います。
http://rigaya34589.blog135.fc2.com/blog-entry-1001.html

No title

NVEncのOKボタンの件、
早々のご対応感謝いたします。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

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

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

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

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

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

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

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

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

rkmppenc
- Rockchip系SoCのhwエンコーダ

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 (ミラー)
SVT-AV1 (ミラー)

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

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

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