Amazonで商品を見るセール会場へ

After Effects│連番と音声を分けて効率良くレンダリングする方法

After Effectsでレンダリング時間が長引くと作業効率が大幅に落ちます。

今回は、複数のバックグラウンド処理を起動して「既存ファイルをスキップ」しながらPNG連番を書き出し、

AviUtlで音声と結合してMP4(H.264)へ書き出すワークフローを解説します。

目次

90枚と3秒の音声をそろえてから並列化する

練習用の別名プロジェクトで640×360、30fps、3秒のコンポを用意します。

開始フレームと60フレーム目に図形を出し、同じタイミングで短い音を置くと同期を確認できます。

練習ZIPのsync-3sec-48khz.wavは、開始と2秒に音を入れた自作の3秒・48kHz・モノラル音源です。

まず並列化せず、同じ開始・終了範囲でPNGとWAVをそれぞれ書き出します。

連番は90枚で、番号の抜け、0KB、開けない画像がないか確認します。

48kHz・3秒のWAVは1チャンネルあたり144,000サンプルです。

AviUtlに取り込むときはプロジェクトと連番の解釈を30fpsにそろえ、映像と音声を同じ開始位置に置きます。

頭・2秒・末尾を確認してMP4を出し、そのMP4でも音の位置と3秒の尺を確認します。

90枚を24fpsで解釈すると3.75秒になり、音と合いません。

複数のaerenderで同じ連番を扱う場合は、専用の出力先と「既存ファイルをスキップ」を使い、同じAE版・フォント・プラグインをそろえます。

Adobeの説明は処理済み・処理中のフレームをスキップする仕組みを示していますが、完成後の全画像確認は必要です。

欠番が出たら全プロセスを停止し、ログと問題の番号を保存します。

正常な出力は残し、新しいフォルダーで1プロセスから再確認します。

作業後は元のプロジェクトと出力先に戻します。

旧外部スクリプトとAE・AviUtlの一連の実機操作は今回未検証です。

確認すること期待する結果違ったとき
枚数と尺90枚を30fpsで解釈して3秒開始番号と欠番、取り込みfpsを確認
音の位置開始と2秒の図形・音が一致WAVの出力範囲と配置位置を確認
並列出力欠番・0KB・読み込み失敗なし停止して1プロセスの新しい出力先で確認

After Effectsの環境設定

通常の連番出力やaerenderの実行に、スクリプトのネットワーク許可を一律に有効にする必要はありません。以下の設定は旧外部JSXを使う場合に、そのスクリプトの必要条件を確認して判断します。

  1. 「編集」→「環境設定」→「スクリプトとエクスプレッション」(旧バージョンは「一般設定」)を開き、「スクリプトによるファイルへの書き込みとネットワークアクセスを許可」を有効にします。
  2. 「環境設定」→「メモリ」を開き、「他のアプリケーション用に確保するRAM」の割り当てを調整します。

※AE単体でレンダリングする場合はAEへの割り当てを優先しますが、バックグラウンド処理を並行稼働させる場合は他プロセスにもメモリを確保しておきます。

メモリ設定

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

レンダーキュー
  1. 対象のコンポジションを開き、「コンポジション」→「レンダーキューに追加」を選択します。
  2. 「出力モジュール」をクリックし、形式を「PNGシーケンス」に設定します。
  3. 「レンダリング設定」をクリックし、オプションの既存ファイルをスキップ(複数のシステム上でのレンダリングを可能にする)にチェックを入れます。
出力モジュール設定
レンダリング設定

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

手動でコマンドを用意する手間を省くため、外部スクリプトを活用します。

ダウンロード先:https://github.com/bryful/bryful_Homepage/find/master

上記ページ内のbgRender_WinMac.zip(バックグランドでレンダリング.jsx)をダウンロードして使用します。

バックグラウンドレンダリングスクリプト

複数のレンダリングプロセスを並行して立ち上げるため、強制実行にチェックを入れます。

少し間隔を空けながら、都度チェックを入れて「バックグラウンドでレンダー開始」をクリックし、複数のプロセスを起動します。

まず1プロセスで連番が正常にそろうかを確認します。並列化を試すときは2プロセスから比較し、メモリ不足や0KBファイルが出る場合は減らします。4〜5プロセスを共通の推奨値にはしません。

別ツールの選択肢:AepMultiRender

AEでレンダーキューを設定してプロジェクト(.aep)を保存後、本ツールへドラッグ&ドロップするだけで分割レンダリングを実行できます。

AepMultiRender

ダウンロード先:https://t.co/5Ixzu5wuHg

レンダリング時間の検証結果

  • 以下は旧環境の測定例です。当時80分のコンポジションがPNG連番では約55分になりました。現在のAEでの再測定や、すべてのプロジェクトで同じ短縮を保証する値ではありません。
  • 音声の書き出しは、レンダーキューの出力モジュール形式を「WAV」に指定して約4秒で完了します。

AviUtlで映像と音声を結合してH.264書き出し

  1. AviUtlを起動し、PNG連番の先頭画像をウィンドウへドラッグ&ドロップして読み込みます。
  2. 「ファイル」→「音声読み込み」から先ほど書き出したWAVファイルを選択します。
  3. AviUtl(無印)では、x264guiExを導入したうえで「ファイル」→「プラグイン出力」→「拡張 x264 出力 (GUI) Ex」を選びます。これは拡張編集そのものの出力機能ではなく、別の出力プラグインです。AviUtl2は導入先と手順が別なので、開発者の説明で使用版を確認します。
Aviutlでの読み込み

参考リンク:https://www.replystudio.net/2016/01/aftereffectsaviutl60fpspngmp4.html

After Effectsの関連Tipsは、まとめ以降の関連記事もあわせてご確認ください。

レンダリングや書き出しを速くする方法は、ほかにも書いています。

まとめ

  • 並行処理の負荷により、稀に0KBの破損画像が出力される場合があるため書き出し後の確認が必要です。
  • 一部を再出力するときは、その変更が影響するフレームの範囲を確認します。エクスプレッションや時間方向の効果がある場合は、見た目の変更箇所より広い範囲を出し直す必要があります。
  • 軽量かつ高品質なH.264出力を行う手段として、AviUtlのx264guiEx連携が有効です。
  • 速さの判断には連番の出力だけでなく、音声の出力と最終エンコードまでの合計時間を使います。別ツールへの受け渡しが増えて遅くなる場合もあります。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次