困った時の rigaya さん、ということでsvtAV1guiExを導入させてもらいました。
まだ、ほとんど設定わかりませんが、ハードウェアエンコードって、早くて十分使えます。
仮面ライダーの動画31分のファイルをエンコードして、NVEncのエンコードが7分ちょい、AV1が8分42秒で1分とちょいの差しか出ませんでした。出来上がりの容量は、1920x1080でNVEncの二分の一約340MB。
これは極端な例かもしれませんが、動画の長さの約四分の一の時間でコンコードが終わり、ファイルサイズもNVEncの二分の一。
RTX4000 SFF ada はLLMの自分専用の深層学習目的に買ったのですが、70Wの消費電力でAV1のハードウェアエンコード2基っていうのは、使えってことだろう!ということで、使ってみたら、今後のエンコードはこれで決まり、って私の中では完結しました。
本当に、いろいろ先陣切って取り扱っていただいて、感謝しております。
コメントありがとうございます。
RTX4000 SFF ada、メモリも多いうえにLPで70Wなので、確かにAI用によさそうですし、AV1エンコードも面白そうですね。
NVEncが無事動作してよかったです!
デフォルトが main だったので、他の設定そのままに、Profile設定を high と professional に変更してみました。
残念ながら、不正なパラメーター(オプション)が渡された可能性があるというエラーになりました。
関連項目の設定を○○~○○の範囲に設定する必要があるという条件とかが判明しているなら教えてください。
エンコード速度とファイル容量、画質の関係から、 main に速度を9、hierarchical levelsを31B Pyramidにするだけで、日頃のエンコードには十分です。(60分の時間のドラマtsファイルをNVEnc(depth10設定)が13分33秒1,503,289KB、AV1(depth8設定)で19分58秒、702,010KB、画質はAV1の方が綺麗に見えます。私の体感。)速度は1メモリ品質優先にするだけで、エンコードにかかる時間が、処理する動画の長さの4分の1から3分の1に、大幅に延長しました。試しに速度を6にしたら、35分50秒で721,881KBで品質は上がるけど、実用的には、バッチ処理する設定じゃないな、という感じです。
後、bit-depthを 8 → 10 にして試すことは出来るのでしょうか?
AV1エンコーダー2基は、対応アプリによっては1基の場合より速くなるということですが、svtAV1guiExの場合も速くなっているのでしょうか?
※ご注意誤解があるかも、と思ったので記載しますが、svtAV1guiExはSVT-AV1による純CPU処理ですので、GPUのhwエンコーダ数は関係ございません。
GPUのhwエンコーダを利用する際は、NVEncのAV1をご利用ください。また、GPUの2つのhwエンコーダはNVENC側で自動的に利用されているようですので、アプリの対応の有無は関係ありません。
もしわたしの早とちりでしたら、申し訳ありません。
> Profile設定を high と professional
AV1 high profileはYUV444用、professional profileは12bit用ですが、いずれも現時点のSVT-AV1は対応していませんので、特にmain profileのままでよいと思います。
参考:
https://en.wikipedia.org/wiki/AV1#Profiles_and_levels設定欄があるのは、将来エンコーダが対応したとき用なので、次回バージョンでは無効化しておきます。
> bit-depthを 8 → 10 にして試すことは出来るのでしょうか?
svtAV1guiExにはhighbit depthという設定欄がタブ1枚目上部にあると思います。
highbit depthの設定欄のチェックボックスでbit-depthを 10 に出来ました。
確かに、svtAV1guiExの出力ログにはGPUの記述が有りませんね。
試しに、4分半の動画ファイルを、拡張x265と拡張SVT-AV1でエンコード結果を以下に書きます。
x265 3分25秒、ファイルサイズ90,048KB
AV1 2分38秒、ファイルサイズ60,274KB
どちらもGPUの動作ログは無いのですが、x265はエンコード時にCore i9-12900Kがブン回ったみたいで、ファンの回転音が上がりました。
x265のエンコード時間 : 2分 5.1秒です。x265は初めて利用したので起動に少し時間がかかっています。起動時間を抜いたエンコードのみの時間が2分 5.1秒です。CPU使用率: Aviutl: 2.10% / x265: 5.32%
AV1のエンコード時間 : 2分 17.2秒です。こちらは全く静かで、 CPU使用率: Aviutl: 1.32% / svt-av1: 3.38%
20分の動画ファイルのエンコードだと、AV1の場合、しばらくしてからGPUの冷却ファンが回りだします。これはNVEncと同じです。でも、CPUのファンは気がつかない(水冷式です)ので、x265との比較から明らかにsvtAV1はGPUのhwエンコーダを動かしている(GPUが忖度して勝手に動いている)気がします。
svtAV1エンコード中、動画の再生が止まる現象があり、タスクマネジャーを確認したら、CPUがフル回転してました。
PCのファンの音に騙されてはいけないってことですね。
x265よりAV1の方が効率が高いってことと、NVEncと比較しても総合的にAV1の方が魅力的ですが、それはCore i9-12900KのPowerあっての事みたいですね。