NVEnc 6.06

English change log and binaries>>

[NVEncC]
- --vpp-colorspace hdr2sdrでcolormatrix,transfer,colorprimの変換を指定した際には、指定に基づいた変換を行うように。
いただいた要望の反映。

- 音声デコーダの初期化時にsample fmtが設定されない場合にエラーが発生する問題を回避。
ご指摘のあった問題の修正。

- AVPacket関連の非推奨関数の使用を削減。

[NVEnc.auo]
- デフォルトの音声ビットレートを変更。
- プリセットの音声ビットレートを変更。
- exe_filesから実行ファイルを検出できない場合、plugins\exe_filesを検索するように。
- エンコード終了ログの文字化け対策。



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

NVEncの導入

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


コメントの投稿

非公開コメント

設定等の文字化け

いつもお世話になってます。

表題の件ですが6.04以降も再発しています。
ついでにQSVEncも7.02以降同様の文字化けしています。

Re: 設定等の文字化け

申し訳ありませんが、NVEnc 6.06 および QSVEnc 7.07で設定画面やログ画面を選択ランを含め確認しましたが、文字化けは確認できませんでした。

lut3dのビット深度

YUVの動画にvpp-colorspaceのlut3d使用する際、
ログに
cspconv(nv12 -> yuv444(16bit))
matrix:bt709->GBR
のように表示されますが、この場合16bitでlut3dの計算がされてますでしょうか?

-> yuv444(16bit)の部分を見ると16bitと思われますが、
ffmpegのpix_fmtsではgbrpが8bitなので、念のためお伺いしたい次第です

Re: lut3dのビット深度

この場合、yuv444(16bit)が中間データの精度で16bit、lut3dの内部処理自体は32bit単精度小数です。

状況に応じ、yuv444が中間データになることもありますが、この場合は中間データが8bit、lut3dの内部処理自体は同じく32bit単精度小数です。

32bit単精度小数を用いる理由は、一般にGPUでは単精度小数の処理が高速であるためです。

Re: lut3dのビット深度

ご返答ありがとうございます。納得しました

パイプ出力

こんにちは、いつもお世話になってます。

NVEncCで動画を処理してる最中に、yuv444(16bit)やyv12(16bit)になったデータをh264・h265にエンコードせず、
yuv4mpegpipeのような形でパイプ出力することは可能でしょうか?

やりたいことのイメージは
NVEncC -i 入力動画 --vpp-convolution3d -f yuv4mpegpipe -o - | NVEncC --y4m -i - --vpp-colorspace lut3d="hoge.cube" -c hevc --profile main10 -o 出力動画
のように、NVEncCを(フィルター順を変える等の目的の為)つなげたいので、データのロスなく2番目のNVEncCに渡したいのですが、
現状だと上記コマンドではERRORとなる上、Output Infoを見るとH.264に変換しようとしているように見受けられます。

losslessを用いた↓のコマンドだと
NVEncC -i 入力動画 --vpp-convolution3d -c hevc --profile main10 --lossless -o - | NVEncC -i - --vpp-colorspace lut3d="hoge.cube" -c hevc --profile main10 -o 出力動画
1番目のvpp-convolution3dでyuv444(16bit)となったデータが、H.265のYUV444 10bitに丸められて渡されます。

変則的な利用方法で申し訳ないですが、マルチGPU環境でNVEncCを走らせるデバイスを別々のに変えたりする用途にも使えるので、現状できないなら対応いただけるとありがたいなぁ、という所存です

Re: パイプ出力

NVEncCでは、 -f yuv4mpegpipe のような、NVENCでエンコードしないような使い方には対応していません。そのため、エラーとなるのは想定される動作です。

NVEncCは「最終段階がエンコーダであること」を前提として組んでいるので、エンコードしないように変更するのはちょっと大変で時間がかかりそうです。

また、QSVEnc拡張やNVEncプラグイン側の英語化対応などほかに要望のある項目・実施予定の項目もあり、すみませんがすぐに対応はできない状況ですが、後ほど対応したいと思います。

Re: パイプ出力

ずいぶんと遅くなってしまいましたが、パイプ渡し(y4m)をNVEnc 7.07で実装しました。
https://rigaya34589.blog.fc2.com/blog-entry-1612.html

"-c raw"でy4m出力できるようにしたつもりです。

ちょっと時間が空きすぐてしまいましたが、もしまだ見てくださっていればお試しください。

Re: パイプ出力

ご対応ありがとうございます。
早速試させて頂きましたが、どうも-c rawを指定すると、下記の①②のように入力動画の形式に関わらずyuv420pで出力してしまい、その為かnv12(yv12)でVpp Filterの計算を行っているようです。
(以前のhevcロスレス10bitを指定するやり方だと③④のようになっていました)

①テストコマンド
FFmpeg -hide_banner -t 30 -f lavfi -i color=c=black:s=1920x1080 -pix_fmt yuv444p16le -strict -1 -f yuv4mpegpipe - | NVEncC -i - --vpp-convolution3d -c raw -o - | FFmpeg -y -i pipe: -hide_banner test.mp4
①ログ
Input Info avsw: rawvideo(yuv444(16bit))->nv12 [AVX2], 1920x1080, 25/1 fps
Vpp Filters copyHtoD
cspconv(nv12 -> yv12)
convolution3d: matrix standard, mode normal
threshold spatial luma 3, chroma 4, temporal luma 3, chroma 4
cspconv(yv12 -> nv12)
copyDtoH

②テストコマンド
FFmpeg -hide_banner -t 30 -f lavfi -i color=c=black:s=1920x1080 -pix_fmt yuv420p10le -strict -1 -f yuv4mpegpipe - | NVEncC -i - --vpp-convolution3d -c raw -o - | FFmpeg -y -i pipe: -hide_banner test.mp4
②ログ
Input Info avsw: rawvideo(yv12(10bit))->nv12 [AVX2], 1920x1080, 25/1 fps
Vpp Filters copyHtoD
cspconv(nv12 -> yv12)
convolution3d: matrix standard, mode normal
threshold spatial luma 3, chroma 4, temporal luma 3, chroma 4
cspconv(yv12 -> nv12)
copyDtoH

③テストコマンド
FFmpeg -hide_banner -t 30 -f lavfi -i color=c=black:s=1920x1080 -pix_fmt yuv444p16le -strict -1 -f yuv4mpegpipe - | NVEncC -i - --vpp-convolution3d -c hevc --output-depth 10 --lossless -o - | FFmpeg -y -i pipe: -hide_banner test.mp4
③ログ
Input Info avsw: rawvideo(yuv444(16bit))->yuv444(16bit) [AVX2], 1920x1080, 25/1 fps
Vpp Filters copyHtoD
convolution3d: matrix standard, mode normal
threshold spatial luma 3, chroma 4, temporal luma 3, chroma 4
copyDtoD

④テストコマンド
FFmpeg -hide_banner -t 30 -f lavfi -i color=c=black:s=1920x1080 -pix_fmt yuv420p10le -strict -1 -f yuv4mpegpipe - | NVEncC -i - --vpp-convolution3d -c hevc --output-depth 10 --lossless -o - | FFmpeg -y -i pipe: -hide_banner test.mp4
④ログ
Input Info avsw: rawvideo(yv12(10bit))->p010 [AVX2], 1920x1080, 25/1 fps
Vpp Filters copyHtoD
cspconv(p010 -> yv12(16bit))
convolution3d: matrix standard, mode normal
threshold spatial luma 3, chroma 4, temporal luma 3, chroma 4
cspconv(yv12(16bit) -> p010)

Re: Re: パイプ出力

-c rawが動作してよかったです。なお、yuv420専用になっておりますので、ご指摘の通りの動作となります。

ただ、大変申し訳ないですが、残念ながらあまり所望の動作のお役に立てそうにないのかなという認識です。

実装してみて改めて思いましたが、やはり当初の予定に全くない機能のため、かなり無理のある実装になってしまっています。お役に立てそうにないのであれば今後の維持の負担の非常に大きい本機能は廃止にしようかなと思っています。

Re: Re: パイプ出力

最初に正確に要望をお伝えしきれず、申し訳ありませんでした。
貴重なお時間を取らせてしまい、すみません m(__)m
せっかく実装して頂いたのになんですが、維持に負担がかかるなら廃止でよろしいかと…

Re: パイプ出力

いえ、こちらこそお待たせしたうえ力不足で大変申し訳ありませんでした。

次の7.08ではすみませんが機能としては削除させていただきました。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: [email protected]
github twitter

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

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

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

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

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

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

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

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

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


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

clcufilters 
- OpenCL/CUDAの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エンコーダ

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

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