NVEnc 5.40

主にWindows11対応関連の更新。

・想定動作環境にWindows11を追加。
・Windows11の検出を追加。
・Windows11のWSL2での実行に対応。
こちらの記事で実際の使用方法とかを紹介。

・スレッドアフィニティを指定するオプションを追加。(--thread-affinity)
Alderlakeに向けてPerformanceコアでの実行、Efficiencyコアでの実行を指定可能としたつもり。もちろん、実機未発売のため、未検証なのでとりあえず仕組みを作って準備しているという感じ。

実機が手に入ったら意図通り動くか実際に試してみたい。

・ログの各行に時刻を表示するオプションを追加(デバッグ用)。(--log-opt addtime)



ダウンロード>>
ダウンロード (ミラー) >>

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

ソースはこちら>>


スポンサーサイト



コメントの投稿

非公開コメント

静止画連番の読み込み

こんにちは
いつもありがたく使わせてもらっています

静止画連番のエンコードに利用させてもらおうとして、
 FFmpeg -framerate %FPS% -i "%%08d.png" -pix_fmt yuv444p -f yuv4mpegpipe - | NVEncC --y4m -i ~
↑のようなFFmpegからのパイプ渡しや
AvisynthのImageReader(avs読込)でやろうとしたのですが、
FFmpegだとエンコ結果の動画が途中止まったり
(エンコの度に止まる箇所が違う。長時間の動画ほど止まる確率が上がる)、
ImageReaderだと静止画読み込み速度がFFmpegの1/3程度で遅く、
引数のFPSに60000/1001のような除数で指定しても、
NVEncCだと59/1となったりと色々上手く行きません。。

つきましてはNVEncCの方で静止画連番の読み込みに
対応して頂ければ、と思い、お願い申し上げる次第です。
よろしければご検討の程、お願い致します。

YUV444を変換すると緑色の短線が発生する

連投失礼ですが、別件で不具合?のようなものを見つけたので
報告させて頂きます。

YUV444(10bit / 12bit)の4K動画を
HEVC(10bit)にエンコードした際、
画面左上の端っこ15x2ドットほどの緑色の横線が発生します。

 NVEncC --avsw -i "YUV444の4K動画" -c hevc --profile main10 -o "output.mkv"

InputがYUV444(8bit)でも2Kでも発生せず、
OutputがHEVC(8bit)でも発生しないようです。
また、FFmpegで似たようなことをやっても発生しないので、
NVEncの不具合でもなさそうです。
 FFmpeg -y -i "YUV444の4K動画" -pix_fmt p010le -c:v hevc_nvenc -profile main10 "output.mkv"

Inputのサンプル動画はこちらに置いておきました。
ttps://22.gigafile.nu/1021-e999640bc5dc15b9738770771e369d632
または↓のコマンドでもサンプル動画を作成できます。
 FFmpeg -y -i "適当な4K動画" -pix_fmt yuv444p16le -c:v hevc_nvenc "YUV444の4K動画.mkv"

--使用環境--
OS:Windows 10 x64 (19043)
ドライバ:472.12
GPU:1660s
NVEncC:5.40(x64)

No title

> 静止画連番の読み込み
NVEncC --avsw -i "%%08d.png" ~ で対応しているかと思いますので、まずはお試しいただけますでしょうか。(RGBAとかですと対応していないかもしれませんが…)

> YUV444を変換すると緑色の短線が発生する
詳細にご報告いただきありがとうございました。NVEnc 5.41で修正しました。
https://rigaya34589.blog.fc2.com/blog-entry-1383.html

No title

更新ありがとうございます。

> 静止画連番の読み込み
お教え頂いたコマンドで静止画連番(RGB)の読み込みは
問題なく行えることを確認致しました。
ただ、NVEncC --avsw -i "%%08d.png" --fps 60 ~ -o output.mkv 等の
fpsを指定したところ、エンコ時のログとエンコ後ファイルのmeta情報では
VFRの60fpsなのですが、再生してみると動画時間が長くなっており、
AviUtl(L-SMASH利用)で動画を読み込み確認すると
25fpsになっているようでした。

> YUV444を変換すると緑色の短線が発生する
手持ちの動画で試したところ、緑色の短線は発生しなくなっていました。
ご対応感謝します。

Re:静止画連番の読み込み

追加で判明したことがあるので追記させて頂きます。
エンコードが進むにつれ、NVEncCの
メモリー確保量(コミットサイズ)が増え、
1920x1440の静止画6万フレームほどエンコが進む頃には
約20GBになっていました。
(手動でエンコードを一時停止させると、
メモリの解放が行われるようで、
コミットサイズは約2GBまで減りました)

メモリが足りなくなると、↓のエラーが出て終了します。
(仮想メモリ未使用環境で発生)

avsw: error occured while reading file: 340361 frames, Cannot allocate memory

Re: Re:静止画連番の読み込み

こちらでも1920x1080のpngを6万フレーム程度読み込ませ、エンコード中のNVEncCをタスクマネージャの詳細タブの「コミットサイズ」を確認しましたが、0.8GB~1.1GB程度で変動はしていましたが、継続的に増えるようなことはありませんでした。

特にこのあたりでメモリ解放漏れ等はなさそうなのですが…

Re: Re: Re:静止画連番の読み込み

確かめたところ、audio--sorceと併用すると、増え続けるようです。
 NVEncC --avsw -i "%%08d.png" --fps 60 --vpp-warpsharp threshold=64,type=1,blur=3,depth=8 --vpp-unsharp radius=1 --vpp-edgelevel strength=3,threshold=41 -c hevc -u quality --vbrhq 0 --vbr-quality 23.6 --max-bitrate 800000 --lookahead 32 --gop-len auto -b 5 --aq --aq-temporal --profile main10 --ref 16 --bref-mode middle --colorrange limited --colormatrix bt709 --colorprim bt709 --transfer bt709 --audio-source "AAC音声付き動画" --output-thread 1 --output-buf 128 --log "ログファイルパス" -o "output.mkv"
audio-sourceで指定するファイルをmka(中身mp3)の短い音声ファイルに
差し替えても、増え続ける事を確認しています。

↓のように色々削ったコマンドでも、
増え方は緩やかになりますが、発生するようです。
 %NVEncC% --avsw -i "%%08d.png" --fps 60 -c hevc --audio-source "AAC音声付き動画" -o "output.mkv"

Re:静止画連番の読み込み

ああ、なるほど、動画付きの音声ファイルを--audio-sourceで読んでいるのですね…。

--audio-sourceは音声読み込みととらえていたので、音声のみのファイルの読み込みを想定しており、そのテストはしていませんでした。確認してみます。
プロフィール

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

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