【AfterEffects】連番と音声を分けて効率良くレンダリングする方法

レンダリング、効率よくさばけないと人生の時間を損した気持ちになりますよね?

どうやったら早くなるのか?隙間の時間にいろいろ試してみているのですがプロジェクトや環境によって最適解が変わることが結構あります。

今回は「複数バッチレンダリング起動からの上書きスキップのPNG連番書き出し → Aviutlで音声と繋いでmp4(H264)書き出し」が良かったのでそれのメモです。

AfterEffectsの環境設定

AEじゃなくて、裏でバッチレンダリングするので設定を変えます。

  1. まずスクリプトをつかうので編集>環境設定>一般設定>スクリプトによるファイルへの書き込みとネットワークアクセスを許可にチェック

  2. 環境設定>メモリから他のアプリケーション用に確保する RAMを多めに割り振ります。(普段AEだけでレンダリングする場合は搭載されているRAMに多く割り振ります)

PNG書き出しのレンダリング設定

  1. レンダリングしたいコンポを開き、コンポジション>レンダーキューに追加

  2. 出力モジュールをクリックして、形式を「PNGシーケンス」に

  3. 次にレンダリング設定をクリックして、オプションの既存ファイルをスキップ(複数のシステム上でのレンダリングを可能にする)

複数バッチレンダリングするスクリプト

バッチを自作で書いても良いのですが、面倒なのでスクリプトを使います。

http://bryful.yuzu.bz/ae/scriptDiary/index.html

のサイトにあるbgRender_WinMac.zip(バックグランドでレンダリング.jsx)のスクリプトをダウンロードして使います。

複数バッチを走らせるために、強制実行にチェックを入れます。

あとは少し時間を起きながらつど、強制実行にチェックを入れてバックグラウンドでレンダー開始ボタンをおして複数バッチを起動します。

マシンスペックによりますが、最大でも4か5つ程度でOK

追記「AepMulitiRender」

こちらのソフトも便利です。AEの設定をして保存。そのまま.aepをソフトにドラッグ&ドロップすればレンダリングがはじまります。

レンダリングの結果

  • 80分レンダリングかかるデータが、PNG書き出しでは55分程度ですみました。約30%減。

  • ついでに音声データも書き出します。出力モジュールをクリックして、形式を「wav」に、4秒ほどで終わりました。

Aviutlで映像と音声を合わせてH264書き出し

  1. Aviutlを起動して、PNGの一番先頭の連番画像をドラッグ&ドロップ。連番がすべて読み込まれます。

  2. ファイル>音声を読み込みから.wavを選択。音声も読み込まれます。

  1. あとはプラグイン出力(x264guiEx)するだけです。設定は下記の記事が参考になります。

【YouTube】ベストな画質でアップロードするためのH.264エンコード設定

引用

http://replystudio.blogspot.com/2016/01/aftereffectsaviutl60fpspngmp4.html

まとめ

今回のやり方、複数バッチを走らせた結果、たまにPNG画像が0kbで失敗するというデメリットもあります。

とはいえ修正部分だけ、連番書き出しで済むというケースもでてくるので、その点はレンダリングコストが最小ですみます。

また軽量のH264するにはAviutlがベストなので、複数ソフトをまたぐのもそこまでデメリットはなく、とても良い方法だと思います。

※本音をいうともう少しAEの標準のレンダリングが高速になってくれればとは思います。