NVEnc 6.05

English change log and binaries>>

[NVEncC]
yuv422読み込み時にcropを併用すると、黒い横線が生じてしまう問題を修正。
ご指摘いただいた問題を修正。ご指摘ありがとうございました。

NVEncCをひとまずarm64でビルドできるよう対応。(まだ動作には問題点あり)
詳細はこちら。需要はほぼなさそうなので、まだビルドできるようにして試してみただけ。



※NVEnc 6.00から導入方法が変更されていますのでご注意ください。
※Aviutl向けには、Aviutl_NVEnc_6.xx.zip をダウンロードしてください。
ダウンロード>>

NVEncの導入

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


スポンサーサイト



コメントの投稿

非公開コメント

GPU使用率

HEVCエンコード時、GPU使用率が0%から150%以上になったりと表示されるんですが、正常なのでしょうか?以前は100%を超える表示はなかったような気がします。

Re: GPU使用率

表示上の問題ですので、エンコード自体に問題はありません。

GPUやOS等環境によって、使用率のカウンタの名前が違うようで、どうも意図しない集計がされているケースがあるため起こるようです。

Re:Re: GPU使用率

分かりました。ありがとうございます。

--ssimオプション出力

NVEncをLinuxで使用させていただいています。
最近5.40→6.05へ更新したのですが、いつも出力させていたSSIMの表示がなくなっていることに気付きました。
エンコードオプションは変更しておらず、ログにもssimの表示が出ているにもかかわらず、最後のSSIM表示がなくエンコードが終了します。

こちらの見落としなどがないか、アドバイスいただけますと幸いです。
以下ログを貼ります。お目汚しご容赦ください。

【5.40】
avs: avs has no audio.
NVEnc (x64) 5.40 (r2046) by rigaya, Oct 10 2021 00:13:08 (gcc 11.1.0/Linux)
OS Version Arch Linux (5.17.4-arch1-1)
CPU Intel Core i5-7400 @ 3.00GHz (4C/4T)
GPU #0: NVIDIA GeForce GTX 1650 (896 cores, 1635 MHz)[PCIe3x16][510.60]
NVENC / CUDA NVENC API 11.1, CUDA 11.6, schedule mode: auto
Input Buffers CUDA, 45 frames
Input Info AviSynth+ 3.7.2 (x86_64)(yv12)->nv12 [AVX2], 1440x1080, 30000/1001 fps
Vpp Filters copyHtoD
cspconv(nv12 -> yv12(16bit))
afs: clip(T 16, B 16, L 32, R 32), switch 0, coeff_shift 192
thre(shift 128, deint 48, Ymotion 112, Cmotion 224)
level 3, shift on, drop off, smooth off, force24 off
tune off, tb_order 1(tff), rff on, timecode off, log off
deband: mode 1, range 15, threY 15, threCb 15, threCr 15
ditherY 15, ditherC 15, blurFirst no, randEachFrame yes
cspconv(yv12(16bit) -> p010)
ssim (yv12(10bit))
Output Info H.265/HEVC main10 @ Level auto
1440x1080p 4:3 29.970fps (30000/1001fps)
avwriter: hevc => mp4
Encoder Preset default
Rate Control CQP I:22 P:26 B:29
ChromaQPOffset cb:0 cr:0
Lookahead on, 32 frames, Adaptive I, B Insert
GOP length 300 frames
B frames 4 frames [ref mode: each]
Ref frames 8 frames, MultiRef L0:auto L1:auto
AQ on
CU max / min auto / auto
Others mv:auto

〜途中省略〜


encoded 80018 frames, 251.07 fps, 2200.88 kbps, 700.50 MB
encode time 0:05:18, CPU: 0.0%, GPU: 46.0%, VE: 51.3%, VD: 12.5%, GPUClock: 1895MHz, VEClock: 1760MHz
frame type IDR 403
frame type I 403, avgQP 22.00, total size 48.58 MB
frame type P 17266, avgQP 26.00, total size 404.12 MB
frame type B 62349, avgQP 29.00, total size 247.80 MB
ssim/psnr/vmaf: SSIM YUV: 0.970970 (15.371569), 0.979196 (16.818515), 0.980488 (17.096930), All: 0.973927 (15.838166), (Frames: 80018)


【6.05】
avs: avs has no audio.
NVEnc (x64) 6.05 (r2215) by rigaya, Jun 25 2022 02:35:19 (gcc 11.2.0/Linux)
OS Version Arch Linux (5.17.4-arch1-1)
CPU Intel Core i5-7400 @ 3.00GHz (4C/4T)
GPU #0: NVIDIA GeForce GTX 1650 (896 cores, 1635 MHz)[PCIe3x16][510.60]
NVENC / CUDA NVENC API 11.1, CUDA 11.6, schedule mode: auto
Input Buffers CUDA, 45 frames
Input Info AviSynth+ 3.7.2 (x86_64)(yv12)->nv12 [AVX2], 1440x1080, 30000/1001 fps
Vpp Filters copyHtoD
cspconv(nv12 -> yv12(16bit))
afs: clip(T 16, B 16, L 32, R 32), switch 0, coeff_shift 192
thre(shift 128, deint 48, Ymotion 112, Cmotion 224)
level 4, shift on, drop off, smooth off, force24 off
tune off, tb_order 1(tff), rff on, timecode off, log off
deband: mode 1, range 15, threY 15, threCb 15, threCr 15
ditherY 15, ditherC 15, blurFirst no, randEachFrame yes
cspconv(yv12(16bit) -> p010)
ssim (yv12(10bit))
Output Info H.265/HEVC main10 @ Level auto
1440x1080p 4:3 29.970fps (30000/1001fps)
avwriter: hevc => mp4
Encoder Preset default
Rate Control CQP I:22 P:27 B:30
ChromaQPOffset cb:0 cr:0
Lookahead on, 32 frames, Adaptive I, B Insert
GOP length 300 frames
B frames 4 frames [ref mode: each]
Ref frames 8 frames, MultiRef L0:auto L1:auto
AQ on
CU max / min auto / auto
Others mv:auto

〜途中省略〜

[100.0%] 82631/82715 frames: 234.91 fps, 1384 kb/s, remain 0:00:00, GPU 48%, VE 53%, VD 13%, est out size 454.9MB

←SSIMの表示なく終了

Re: --ssimオプション出力

コメントありがとうございます。ただすみません、残念ながら現状問題を再現できていないです…。

Linux環境ということで、WSL2上のUbuntu 20.04にnvencc_6.05_Ubuntu20.04_amd64.debをインストールしてテストしています。

NVEnc 6.05 Linux版、HEVC 10bitエンコーダ、ソフトウェアデコード、afs/deband使用といった点をそろえていますが、SSIM表示はできております。

rigaya@rigaya2-pc:~$ nvencc -i /mnt/f/temp/bake_01.ts -o ~/test.mp4 --ssim -c hevc --output-depth 10 --avsw --vpp-afs --vpp-deband --lookahead 32 --ref 8 --tff -b 4 --bref-mode each --cqp 22:27:30
--------------------------------------------------------------------------------
/home/rigaya/test.mp4
--------------------------------------------------------------------------------
[mpeg2video @ 0x55b01e1d1840] Invalid frame dimensions 0x0.
[mpeg2video @ 0x55b01e1d1840] Invalid frame dimensions 0x0.
[mpeg2video @ 0x55b01e1d1840] Invalid frame dimensions 0x0.
[mpeg2video @ 0x55b01e1d1840] Invalid frame dimensions 0x0.
[mpeg2video @ 0x55b01e1d1840] Invalid frame dimensions 0x0.
perf monitor: Failed to start NVML Monitoring for "0000:01:00.0": A query to find an object was unsuccessful.
NVEnc (x64) 6.05 (r2215) by rigaya, Jun 16 2022 13:03:32 (gcc 9.4.0/Linux)
OS Version Ubuntu 20.04.4 LTS (5.10.16.3-microsoft-standard-WSL2)
CPU 12th Gen Intel Core i9-12900K (12C/24T)
GPU #0: NVIDIA GeForce RTX 2070 (2304 cores, 1710 MHz)[2147483.64]
NVENC / CUDA NVENC API 11.1, CUDA 11.7, schedule mode: auto
Input Buffers CUDA, 45 frames
Input Info avsw: mpeg2video(yv12)->nv12 [AVX2], 1920x1080, 30000/1001 fps
AVSync vfr
Vpp Filters copyHtoD
cspconv(nv12 -> yv12(16bit))
afs: clip(T 16, B 16, L 32, R 32), switch 0, coeff_shift 192
thre(shift 128, deint 48, Ymotion 112, Cmotion 224)
level 3, shift on, drop off, smooth off, force24 off
tune off, tb_order 1(tff), rff off, timecode off, log off
deband: mode 1, range 15, threY 15, threCb 15, threCr 15
ditherY 15, ditherC 15, blurFirst no, randEachFrame no
cspconv(yv12(16bit) -> p010)
ssim (yv12(10bit))
Output Info H.265/HEVC main10 @ Level auto
1920x1080p 1:1 29.970fps (30000/1001fps)
avwriter: hevc => mp4
Encoder Preset default
Rate Control CQP I:22 P:27 B:30
ChromaQPOffset cb:0 cr:0
Lookahead on, 32 frames, Adaptive I, B Insert
GOP length 300 frames
B frames 4 frames [ref mode: each]
Ref frames 8 frames, MultiRef L0:auto L1:auto
AQ off
CU max / min auto / auto
Others mv:auto
[mpeg2video @ 0x55b01e1ab4c0] ac-tex damaged at 69 390:00:00, est out size 213.8MB
[mpeg2video @ 0x55b01e1ab4c0] Warning MVs not available

encoded 51170 frames, 303.93 fps, 1051.62 kbps, 214.04 MB
encode time 0:02:48, CPULoad: 0.0%
frame type IDR 475
frame type I 475, avgQP 22.00, total size 26.57 MB
frame type P 13057, avgQP 27.00, total size 125.12 MB
frame type B 37638, avgQP 30.00, total size 62.35 MB
ssim/psnr/vmaf: SSIM YUV: 0.984082 (17.981242), 0.985118 (18.273521), 0.985060 (18.256485), All: 0.984418 (18.073781), (Frames: 51170)

念のため、ご使用のコマンドラインを教えてくいただけますでしょうか。

No title

rigaya様

すみません、nvenccの出力をログにリダイレクトしていて気付かなかったのですが、コマンドラインで直接実行してみたら、100%に達した直後にnvenccがSegmentation Faultで落ちておりました...
gitからソースを落として自環境でビルドしたものですので、ビルド環境の問題を疑ってみます。ご面倒おかけして申し訳ありませんでした。

ちなみに以下がコマンドラインです。
nvencc --avs --input-analyze 30 --interlace tff --vpp-afs preset=cinema,24fps=true,smooth=off,rff=true --vpp-deband rand_each_frame -c hevc --output-depth 10 --cqp 22:27:30 --aq --aq-strength 0 --lookahead 32 --bframes 4 --bref-mode each --ref 8 --dar 16:9 --key-on-chapter --ssim -i in_cutcm.avs -o out.mp4

Re: No title

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

いただいたオプションでもチェックしてみましたが、昨日の環境では問題なかったです。Segmentation Faultとのことなので、再現できれば比較的容易に原因がわかりそうなのですが…。

No title

rigaya様

何度も申し訳ありません。
環境をアップデートし、再ビルドしてみましたが症状は改善しませんでした。
ついでにデバッガ(gdb)上で実行し、SEGVが発生したところのスタックトレースをとってみました。

Thread 1 "nvencc" received signal SIGSEGV, Segmentation fault.
0x000015555169c89e in free () from /usr/lib/libc.so.6
(gdb) bt
#0 0x000015555169c89e in free () at /usr/lib/libc.so.6
#1 0x000015554510c1ba in Cache::~Cache() () at /usr/lib/libvmaf.so.1
#2 0x000015553ab4d06e in Cache::~Cache() () at /usr/lib/libavisynth.so
#3 0x000015553ab6e58e in PClip::~PClip() () at /usr/lib/libavisynth.so
#4 0x000015553ab4d0de in CacheGuard::~CacheGuard() ()
at /usr/lib/libavisynth.so
#5 0x000015553ab4d11e in CacheGuard::~CacheGuard() ()
at /usr/lib/libavisynth.so
#6 0x000015553ab6e58e in PClip::~PClip() () at /usr/lib/libavisynth.so
#7 0x000015553ab4cf23 in avs_release_clip () at /usr/lib/libavisynth.so
#8 0x00005555557482ae in RGYInputAvs::Close() ()
#9 0x0000555555600717 in NVEncCore::Encode() ()
#10 0x00005555555bf18e in main ()

何かのご参考になるでしょうか。

Re: No title

スタックトレースの情報ありがとうございます。

avs読み込みを閉じるところで落ちてますね…(avs_release_clip)。

エンコード終了時には、読み込みの終了→書き出しの終了→ssimの集計と出力と進むので、ssimの表示がでないのはこのためと思われます。

ただ、まだavs読み込みを閉じるのに失敗する理由はわからないです。こちらでも時間を見つけてLinux上にAvisynthを入れてみたいと思います。

No title

rigaya様

ありがとうございます。エンコード自体は正常に終わっているようなので、しばらくはこのまま使おうと思いますが、Avisynthの入れ替えも近いうちに試してみます。
お付き合いいただきありがとうございました。

Re: No title

すみません、スタックトレースで見落としていたのですが、avs読み込みの終了時に、
Cache::~Cache() () at /usr/lib/libvmaf.so.1
とあるので、libvmafの中で異常終了しているのかもしれません。

avsの中でlibvmafがどう使用されるのかはちょっとわからないですが、そのあたりが一因かもしれないです。
プロフィール

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