NVEnc 4.31

English version of changelog>>

やっとNVENC SDK 9.0が公開されたので、ちゃちゃっと更新。

[共通]
・NVENC SDK 9.0に更新。NVIDIA グラフィックドライバ 418.81以降が必要。

・HEVCエンコ時のB ref modeの設定を追加。(--bref-mode middle/each)

[NVEnc.auo]
・設定画面に「品質(--preset)」「Bフレーム参照モード(--bref-mode)」を追加。

[NVEncC]
・--presetをreadmeに追加。



NVENC SDKによればTuringのNVENC機能の更新点は以下の通り。

・HEVCでのBフレームのサポートによる圧縮効率の向上。
・そのほかH.264/HEVCの両方での品質の向上。RDO(歪みレート最適化)や複数フレームの参照をサポートによる。

** 注意点 **
TuringのうちTU117(GTX1650?)だけはHEVC Bフレームはサポートされない、つまり逆に言えばTU116(GTX1660?)はHEVC Bフレームはサポートあり。

というかTU117ではダメということはTU117はGP107とそんなに変わんないということ? それにしてもそういうややこしいことしないで欲しいなあ…。

なんかNVENC SDKが更新されてしれっとTU117もHEVCのBフレームがありになってるぽいです…。



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

NVEncCのオプションについてはこちら。
NVEncCオプション一覧>

ソースはこちら>>


スポンサーサイト



コメントの投稿

非公開コメント

No title

NVEnc + NVEncCを使わせて頂いてます。有難う御座います。
NVEncでは単一スレッドに処理が回っている様で、CPU使用率が
20%前後となっています。その為、GPU使用率も上がりません。

しかしx264guiEx 2.xxでは全スレッドに処理が回って
CPU使用率が90%前後となります。ソースが理解出来ず
お力になれませんが、何か処理の差が有るのでしょうか。

auo [info]: converting YUY2 -> nv12p, using AVX AVX2
auo [info]: NVEncC options...
-c h264 --cbrhq 3000 --max-bitrate 3000 --qp-init 20:23:25 --lookahead 32 --gop-len auto -o "D:\My Temporary\444.264" --y4m
-i -
NVEncC (x64) 4.31 (r1001) by rigaya, Feb 12 2019 22:00:22 (VC 1900/Win/avx2)
OS Version Windows 10 x64 (17763)
CPU AMD Ryzen 5 2600 Six-Core Processor (6C/12T)
GPU #0: GeForce RTX 2070 (4608 cores, 1620 MHz)[PCIe3x16][418.81]
NVENC / CUDA NVENC API 9.0, CUDA 10.1, schedule mode: auto
Input Buffers CUDA, 44 frames
Input Info y4m(nv12)->nv12 [AVX2], 640x480, 2997/125 fps
Vpp Filters copyHtoD
Output Info H.264/AVC high @ Level auto
640x480p 1:1 23.976fps (2997/125fps)
Encoder Preset default
Rate Control CBRHQ
Bitrate 3000 kbps (Max: 3000 kbps)
Target Quality auto
Initial QP I:20 P:23 B:25
VBV buf size auto
Lookahead on, 32 frames, Adaptive I, B Insert
GOP length 240 frames
B frames 3 frames [ref mode: disabled]
Ref frames 3 frames, LTR: off
AQ off
Others mv:auto cabac deblock adapt-transform:auto bdirect:auto


encoded 32235 frames, 364.79 fps, 2988.53 kbps, 478.98 MB
encode time 0:01:28, CPU: 1.6, GPU: 5.5, VE: 23.1, GPUClock: 1410MHz, VEClock: 1305MHz
frame type IDR 341
frame type I 341, total size 20.90 MB
frame type P 10107, total size 274.66 MB
frame type B 21787, total size 183.42 MB
auo [info]: CPU使用率: Aviutl: 17.20% / NVEnc: 1.72%
auo [info]: Aviutl 平均フレーム取得時間: 2.541 ms
auo [info]: NVEncエンコード時間 : 0時間 1分30.4秒

Re: No title

ログのご提示ありがとうございます。

ログを見ると、
Aviutl 平均フレーム取得時間: 2.541 ms
となっていますから、CPUで行われるAviutlのフレーム取得の処理(デコード・フィルタ等)に1フレーム当たり2.541msかかっていることがわかります。1000/2.541=394なので、Aviutl側のフレーム取得の処理だけでも394fpsを超えられないことになります。

実際には、フレーム取得をした後、NVEncCに転送する時間がかかるので、さらに速度が若干落ちていますが、「フレーム取得時間」による上限394fpsを考慮すれば、364.79fpsなら十分速度が出ているように思われます。

x264エンコード時にCPU使用率が高いのは、主にx264側のエンコードの処理の並列性が特に高いためです。NVEnc利用時には、エンコード部分がCPU主体からGPU主体に置き換わりますから、CPU使用率が低下するのが一般的です。

No title

解説を頂き有難う御座いました。失礼を致しました。
2070エンコード速度記事と比較した際に低めな値が出たので
CPUに余裕が有るのなら更に詰め込めるのではと
安易な考えをしていました。

フレーム取得が上限で有ればストレージも
かなめになるという事ですね。
重ねて感謝致します。

audiocopyの音ズレ

v4.30よりTSから音声コピー時に、かなり音ズレが発生するようになりました。
どうもtrim指定した場合に発生するようです。

ご確認頂き、改善いただければ幸いです。

↓実際に使用したコマンドです。
NVEncC64.exe --maxbitrate 20000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --avhw --interlace tff --audio-copy 1 -i "動画.ts" -o "動画.mp4" --output-res 1280x720 --vpp-resize lanczos --trim 5104:174791 --sar 1:1 --aq --cqp 26:28:29 --fps 30000/1001 --vpp-deinterlace adaptive

Re: audiocopyの音ズレ

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

おっしゃる通り、trim時の動作がおかしくなっているようです。調べて修正したいと思います。

No title

パソコン初心者です。
パソコンにはgtx1060が入ってるのですが、aviutlでnvencで動画をエンコードできません。どのような原因が考えられるのでしょうか?

Re:

>> audiocopyの音ズレ
遅くなりましたが、4.32で修正できているかと思います。

>> gtx1060
多くの場合は、GPUドライバのバージョンが古かったりするのですが…。
プロフィール

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対応版

tsreplace
- tsの映像のみを置き換えて圧縮

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