Tom’s PCparts Blog With Other Games

主に自作PCと惑星WTのネタをぶち込むブログ

NVEncでHDRメタデータを取り扱ったまま、エンコードするお話

皆様こんにちは。TOM1192です。

 

今回は閑話休題HDRメタデータが入った動画をNVEncで再エンコしてもらうものを作りました。

 

基礎設計そのものは

rigaya34589.blog.fc2.com

 

こちらにある、汎用NVEncエンコーダー(AVIutlくんとかによく使う)を採用しています。

特徴としては、

HDRメタデータが入ったまま再エンコできる。

・割と広範囲のメディア(CineformやDNx、Prores)も扱える。

というところでしょうか。

GPUだけでデコードエンコードもできますが、上述のメディアはGPUではデコードできないので必然的にCPUでのデコードになります。

 

 

その上で、qaacで内部に入った音声データをALACへとエンコードして、それをエンコードされた動画に結合することで、HEVCでエンコされた動画が完成するわけです。

ただ、qaacはPCM音声を直では読めないので、FFmpegでWavへ変換を行ったデータをパイプ処理でqaacへと投げ込むことで、ALACへと変換を可能としました。


drive.google.com

これがNVEnc for HDRです。

解凍すると、4つのバッチファイルが出ます。が、基本的にHDRoutput avsw(st.2084).batでエンコードをするとほぼ100%エンコードしてくれます。

 

ただ、内部コーデックがGPUで取り扱え

ただ、内部コーデックがGPUで取り扱える場合、HDRoutput avhw.batでエンコードするほうがCPU負荷が少なく、場合によってはGPUとCPUの組み合わせより速くなりますので、使用する動画のコーデックをよく確認してください。

 

※追記 2020/11/18

Rev.4のアップデートでバッチファイルは1つになりました。

 なお、同アップデートで、Smpte2084とHLGを選択式に変更し、デコードはハードウェアを先発で実行し、実行できなかった場合、ソフトウェアデコードを行いエンコードを行うようにしました。

 

 

動画はこのように変換されます。

現段階ではコレ以外の改修予定はありませんが、ご意見等あればお願いいたします。

 

なお、メタデータ保持するのにさしあたって、

4K HDR anime channelさんからベースとなったプロファイルを頂いています。

twitter.com

 HDRを作るのがものすごくうまい人なので、毎度毎度感謝しております。

 

さて今回はここまで、たまには別の記事もいいよね?