2015年7月7日火曜日

NVidia GPU hardware H.264 encoder (NVENC)の設定

 個人的にはユネスコの「明治日本の産業革命遺産」に正式に登録が決まったからといってノコノコ出かけるほど物好きではありません、また浮かれている場合じゃないような気がしてきました、韓国では誰が見ても「強制労働」の声が上がりこの玉虫色の決着が「第2の慰安婦問題じゃないか?」といった批判が殺到し安倍総理のツイッターやフェイスブックが「炎上」状態になりました。



今日は「七夕」あいにくの雨・・・本題です。
■ NVidia GPU hardware H.264 encoder (NVENC)
 こちらの記事で紹介したNVidia GPU hardware H.264 encoder (NVENC)は一般公開の評価版ながら画質もそこそこで、何と言ってもレンダリング速度が速く4Kで撮影した映像のライブラリー保存に活用しています。
 しかしNVENCの設定を誤るとレンダリングに失敗して書き出したはずの映像が消えていたりし、規格外のラッピングファイルが出来て再生できないなどの試行錯誤を繰り返した結果、最近はレンダリングに失敗することもなくなり設定についてメモしておきます。
最初にお断りしておきますが以下「MP4」のレンダリングのみの対応で「MKV」や「TS」ラッピングについては必要がないので一切触れていません。
また個人の主観で書いているので内容に誤りがあるかもしれませんし、動作を保証するものでもありません。

  NVENCの一連の動作は
・映像をレンダリングしてM4Vファイルを作成する
 この段階でエラーになることは滅多にありません
・WAV音声ファイルを作成
・作成したWAV音声をNERO AAC エンコーダでAAC音声ファイルに変換
・MP4BOXで映像と音声をラッピングしてMP4ファイルを作成
 一連の動作の中で最終段階での問題が多発し、例えば映像ピクセルとプロファイルやレベルの組み合わせで規格外のM4VとAAC音声のラッピング失敗しでファイルが消失したり、ラッピングしても再生できないMP4が作成されたりします。

■ プリセットは保存してはいけない
 NVENCの書き出し設定はシーケンス設定や映像ソースにより最適なプロファイルやレベルを自動選択しているようで、下手にプリセットを作成すると、保存したプリセット内容を参照するケースがあり、存在しない規格でレンダリングしてMP4BOXでM4V映像とAAC音声のラッピングで跳ねられたケースがありました。

 ■ リサイズレンダリングは禁物
 レンダリングで失敗するのが、例えば4Kシーケンスを2Kにリサイズしてレンダリングしたら失敗するケースもあります。
これは4Kプロジェクトの書き出し設定の一例です。

これをHDサイズにリサイズします。

しかしHDサイズであればレベルは4.1で済むのにプロファイルは5.1のままです。この設定でレンダリングするとおかしなことになります。

やはり一番確実なのは出力サイズのシーケンスを作成してネストコンポが一番確実にレンダリングが完走します。

4KからHDはスケール50%または右クリックメニューから「フレームサイズに合わせてスケール」を選択します。
 
 ■ AACエンコーダとMP4BOXは既定のフォルダ  
 NVENCで指定されているMP4BOXのデフォルトフォルダは「C:\temp\MEGUI\TOOLS\MP4BOX」です。
また、NERO AACエンコーダは「C:\temp\NEROAACENC\win32」に指定されており、あらかじめフォルダを作成してプログラムなどをコピーしておく必要があります。

 「mp4」のラッピングを指定すると、オーディオも自動的にAACに変更されフォルダもデフォルトに変更され問題なくmp4ラッピングファイルが出来ます。

■ レートコントロール

 基本的にはGOPを長くすればビットレートは低くても構わないが再生・編集が重くなる、短くすれば再生や編集は軽くなるが、ある程度ビットレートを盛ってやる必要があります。
 レートコントロールの設定は映像ソースの画質と相談しながら決定しますが毎度悩ましい部分でもあります。

基本的に一定ビットレートのCBRは無駄なサイズになりかねないのでVBRが主流となりNVENCは4種類のVBRが指定で選択に迷うとこです。
・「 CONSTQP」 
 ビットレートの指定が出来ませんが映像ソースに応じて一定の品質レベルを維持たVBRで量子化されているようで細かい設定がよくわからない場合はこれでいいと思います。
 ・「VBR」
  平均ビットレートと最大ビットレートを指定できます。
 ・「VBR_MINQP」
  最小減の量子化でレンダリングできそうで、あまり意味が分かりません。
・「2_PASS_VBR」
 画質を求めたらこれでしょう、時間も倍かかりますが個人的にも一番使用するレートコントロールです。

0 件のコメント:

コメントを投稿