自動レンダリングとネットワークレンダリング

最終更新日 : 2023年11月3日

複数のマシンにAfter Effectsのレンダリングを自動化し、配信する方法を学びます。

aerender によるレンダリングの自動化

実行可能ファイルaerender.exeは、レンダリングを自動化できるコマンドラインインターフェイスを持つプログラムです。この実行ファイルは、After Effects の基本アプリケーションと同じフォルダーに保存されています。 このファイルの配置場所(初期設定):

  • Windows: \Program Files\Adobe\Adobe After Effects\Support Files
  • macOS: /Applications/Adobe After Effects

aerender アプリケーションを使用して、複数のコンピューターでレンダーファームの一部としてレンダリング処理を行うことができます。また、1 台のコンピューターでバッチ処理の一部として aerender アプリケーションを使用することもできます。

このプログラムを使用するには、コマンドラインまたはバッチスクリプトで、コマンド aerender と入力し、続いて必要に応じて一連の引数を入力します。 シンプルな引数(-reuse など)と、さらに引数を伴う引数(-project project_path など)があります。

メモ

aerender -help」というコマンドを入力すると、使用状況に関する情報が表示されます。

アプリケーションのバージョン番号とビルド番号は、標準出力(stdout)に書き出されます。

レンダリングは、既に実行中の After Effects のインスタンスか、新たに開始するインスタンスによって実行されます。 初期設定では、既に実行中のインスタンスがある場合でも、After Effects の新しいインスタンスが開始されます。 現在実行中のインスタンスを使用するには、–reuse 引数を使用します。

次の例のコマンドでは、After Effects がマルチコンピューターレンダリングを使用し、project_1.aep にある Composition_1 のフレーム 1~10 を、Photoshop ファイルの番号付きシーケンスにレンダリングします。

aerender -project c:\projects\project_1.aep -comp "Composition_1" -s 1 -e 10
-RStemplate "Multi-Machine Settings" -OMtemplate "Multi-Machine Sequence"
-output c:\output\project_1\frames[####].psd

Composition_1 のみを指定ファイルにレンダリングする場合は、次のコマンドを使用します。

aerender -project c:\projects\project_1.aep -comp "Composition_1" -output c :\output\project_1\project_1.avi

プロジェクトファイルの レンダーキューにあるすべてのアイテムを現在の設定でレンダリングするには、 次のコマンドを使用します。

aerender -project c:\projects\project_1.aep

引数

説明

"-h"

"–help"

使用方法のメッセージを出力します。

"–version"

aerenderのバージョン番号をコンソールに表示します。レンダリングは実行されません。

"–v verbose_flag"

verbose_flagはレポートされるメッセージのタイプを指定します。指定できる値は ERRORS(致命的なエラーと問題のあるエラーのみが出力されます)または ERRORS_AND_PROGRESS(レンダリングの進行状況が出力されます)です。

–reuse

すでに実行中のAEのインスタンスを再利用してレンダリングを実行したい場合は、このフラグを使用します。初期設定では、既に実行中のインスタンスがある場合でも、aerender は After Effects の新しいインスタンスを起動します。 ただし、AEがすでに実行中で-reuseフラグが指定されている場合、aerenderは既に実行中のAEのインスタンスにレンダリングの実行を依頼します。AE の新しいインスタンスが aerender によって起動されると、aerender はレンダリングの完了時に終了するよう AE に伝えます。それ以外の場合は、AE が終了されることはありません。 さらに、-reuseフラグが指定されている場合は終了時に環境設定がファイルに書き込まれますが、そうでない場合は書き込まれません。

"–mem_usage image_cache_percentmax_mem_percent"

image_cache_percentは、すでにレンダリングされた画像/フッテージをキャッシュするために使用するメモリの最大パーセンテージを指定し、max_mem_percentはAfter Effectsが使用できるメモリの総パーセンテージを指定します。

"-mfr mfr_flag max_cpu_percent" mfr_flag("ON"|"OFF")はマルチフレームレンダリングを使用するかどうかを指定し、max_cpu_percent(1-100)はレンダリング中に使用する希望する最大CPU使用率を指定します。 マルチフレームレンダリングには CPU の能力を 100%活用する機能が備わっているので、他のアプリケーションを使用できるように、CPU パワーを制限することもできます。 mfr_flag が「オフ」に設定されている場合は、max_cpu_percent は無視されます。

"–project project_path"

project_pathは、開くプロジェクトファイルを指定するファイルパスまたはURIです。 指定されていない場合は、現在開いているプロジェクトで aerender が動作します。 プロジェクトが開かれておらず、プロジェクトが提供されていない場合は、エラーが発生します。

"–comp comp_name"

comp_nameは、レンダリングするコンポジションを指定します。 コンポが既にレンダーキューにあり、キュー可能な場合、レンダーキューにあるそのコンポの最初のキュー可能なインスタンス(のみ)がレンダリングされます。 対象のコンポがプロジェクトにあり、レンダーキューにない場合、コンポはレンダーキューに追加されてレンダリングされます。 -comp引数が指定されていない場合、aerenderはレンダーキュー全体をそのままレンダリングします。この場合(-compなし)、使用される他の引数は-project-log-v-mem_usage、および-closeのみです。-RStemplate-OMtemplate-output-s-e、および-i引数は無視されます。

"–s start_frame"

start_frame に、レンダリングする最初のフレームを指定します。 デフォルトはファイル内の開始フレームです。

"–e end_frame"

end_frame は、レンダリングする最後のフレームを指定します。 注意:これは「包括」で、最後のフレームはレンダリングされます。

"–i increment"

incrementは、新しいフレームをレンダリングする前に進むフレーム数です。値を 1 に設定すると(初期設定)、すべてのフレームが通常どおりにレンダリングされます。 incrementを大きくすると、同じフレームが(increment-1)回繰り返され、その後新しいフレームがレンダリングされてサイクルが再開始されます。値が大きいほど、レンダリングは高速になりますが、モーションの精度は下がります。 初期設定値は 1 です。

"–OMtemplate output_module_template"

output_module_templateは、出力モジュールに適用するテンプレートの名前です。テンプレートが存在しない場合、エラーが発生します。デフォルトでは、出力モジュールにすでに定義されているテンプレートを使用します。

"–RStemplate render_sett ings_template"

render_settings_templateは、レンダーキューアイテムに適用するテンプレートの名前です。テンプレートが存在しない場合、エラーになります。デフォルトでは、アイテムにすでに定義されているレンダリングテンプレートを使用します。

"–output output_path"

output_pathは、変換先レンダリングファイルを指定するファイルパスまたはURIです。デフォルトは、プロジェクトファイルで既に指定されているパスです。

"–log log_file_path"

ここで、logfile_pathは、ログファイルの場所を指定するファイルパスまたはURIです。デフォルトはstdoutです。

"–sound sound_flag"

sound_flagは、レンダリング完了時に音を再生するかどうかを指定します。指定できる値は「ON」または「OFF」です。 初期設定値は「オフ」です。

"–close close_flag"

close_flagは、レンダリング完了時にプロジェクトを閉じるかどうか、および変更を保存するかどうかを指定します。close_flagがDO_NOT_SAVE_CHANGESの場合、プロジェクトは変更を保存せずに閉じられます。close_flagがSAVE_CHANGESの場合、プロジェクトは閉じられ、変更が保存されます。close_flag が DO_NOT_CLOSE の場合、プロジェクトは開いたままになります。ただし、プロジェクトは、既に実行中の AE のインスタンスを使用している場合にのみ開いたままになります。これは、新しい呼び出し AE は、完了したら常に閉じて終了する必要があるためです。 初期設定値は DO_NOT_SAVE_CHANGES です。

"-rqindex index_in_render_queue"

index_in_render_queueは、レンダリングするレンダーキューアイテムを指定します。単一のレンダーキューアイテムをレンダリングする際に意味のあるオプション(-compフラグなど)を使用できます。

"-continueOnMissingFootage"

欠損したフッテージのレンダリングを停止しないでください。 プレースホルダーカラーバーを使用してログを記録し、レンダリングします。

監視フォルダーとレンダリングエンジンを 使用したネットワークレンダリング

ネットワークに接続された複数のコンピューターを使って、プロジェクト内の複数のコンポジションをレンダリングすることで、レンダリング時間を短縮できます。 このためには、プロジェクトとソースファイルをネットワーク上のフォルダーにコピーしてから、プロジェクトをレンダリングします。 1 つのコンポジションをレンダリングするために複数のコンピューターを使用する場合、そのコンピューターのネットワークのことをレンダーファームといいます。

レンダーファーミングとは、複数のコンピューターのネットワークをいっしょに使用して 1 つのコンポジションをレンダリングすることです。 レンダリング専用バージョンの After Effects(レンダリングエンジン)と連携動作するように設定できます。

レンダリングエンジンのインストール手順は、フルバージョンの After Effects と同様です。 レンダリングエンジンを実行するには、Adobe After Effects フォルダーの Adobe After Effects Render Engine エンジンショートカットを使用します。 

After Effectsのレンダリング専用インスタンスをインストールするには、次の操作を行います:

製品ページに移動してAfter Effectsをダウンロードしてインストールします。

インストールが完了したら、After Effectsを起動します。

ヘルプメニューからログアウトを選択します。

After Effects を終了します。

ae_render_only_node.txt ファイルを作成して配置します。

1 つの監視フォルダーと複数のレンダリングエンジンを使用して 1 つのムービーファイルを同時にレンダリングすることはできませんが、 しかし、レンダーファーミングでは、複数のレンダリングエンジンを利用してムービーを静止画像ファイルのシーケンスとしてレンダリングできます。その後、ポストレンダリングアクションを使用して、その静止画像シーケンスから単一のムービーファイルを作成できます。 

ネットワーク使用における注意事項

複数のコンピューター上にある複数のレンダリングエンジンを 使用する場合は、以下のガイドラインに 注意してください。

  • すべてのコンピューターから正確に特定できるよう、フォルダーは可能な限り絶対パスで指定してください。 絶対ファイルパスを使用してフォルダーを識別することは、すべてのコンピューターで特定のドライブレターにネットワークドライブをマッピングすることを意味する場合があります(例:H:\renders\watch\)。相対パス(例: \\renders\watch)の使用は避けてください。

  • 監視フォルダーを監視する Mac OS コンピューターが複数ある場合は、異なる名前を付けてください。 コンピューターのデフォルト名は多くの場合同じであるため、デフォルト名を使用しないようにコンピューターの名前を変更する必要があります。

  • 各サーバーとクライアント(監視フォルダーを監視するコンピューター)のハードドライブには、異なる名前を付けてください。

  • 監視フォルダーを提供し、After Effectsを監視フォルダーモードで実行するために同じコンピューターを使用しないでください。監視フォルダーには専用のサーバーを用意し、すべてのレンダリングエンジンからアクセスできるようにします。

  • ボリュームのルートまたは他のコンピューターから表示するときにルートとして表示される共有フォルダーで監視フォルダーモードをレンダリングまたは開始しないでください。代わりにサブフォルダーを指定します。 また、ファイル名に high-ASCII などの拡張文字およびスラッシュを使用しないでください。 After Effects には、複数のコンピューターによるレンダリング時に使用可能な「Multi-machine」サンプルテンプレートが付属しています。

メモ

Windows、macOS、Novell、UNIXなど、異なるネットワークまたはオペレーティングシステムを使用するボリュームを含むネットワーク全体でレンダリングする場合は、すべてのレンダリングまたは変換先ボリュームと互換性のあるファイル命名規則を使用して出力ファイルを指定してください。

プロジェクトにおける注意事項

プロジェクトで使用するフォント、エフェクト、エンコーダー(圧縮方法)はすべて、監視を行う全コンピューターにインストールしておいてください。 必要なフォント、エフェクト、エンコーダーがインストールされていないと、レンダリングでエラーが発生します。

コンピューターに After Effects レンダリングエンジンをインストールすると、After Effects に含まれているすべてのプラグインが読み込まれます。 コンポジションで他のメーカのプラグインを使用する場合は、そのコンポジションをレンダリングするすべてのコンピューターにプラグインをインストールする必要があります。 ただし、ネットワークレンダリングへの対応はプラグインメーカによって異なります。 サードパーティ製プラグインで作成したエフェクトをネットワークレンダリングするように設定する前に、プラグインのマニュアルを参照するか、プラグインの製造元もしくは販売代理店に以下の点を問い合わせてください。

  • プラグインの ライセンス契約上、レンダリング目的でネットワークに複数のコピーを インストールすることが許可されているか。

  • ネットワークレンダリングでプラグインを使用する場合に 適用されるその他の制限事項や注意点はあるか。

ファイル収集フォルダーについての注意事項

ファイル > ファイルを収集コマンドを使用すると、プロジェクトに関連するファイルが単一のフォルダーにコピーされます。このフォルダーには、プロジェクトファイルのコピー、レンダリング制御ファイル(RCF)、およびファイルを収集ダイアログボックスで選択するオプションに応じてその他のファイルが含まれます。Collect Filesフォルダーをサーバー以外のネットワークコンピューターに保存する場合は、そのコンピューターでレンダリングエンジンを実行しないでください。Collect Filesフォルダーをローカルディスク、ディスクのルートレベル(WindowsのC:やmacOSのMac HDなど)、または共有フォルダーに保存することは避けてください。これらの場所は各レンダリングエンジンで異なる場所を示す可能性があります。すべてのレンダリングエンジン上で同じパスで表すことのできるフォルダーを使用します。

メモ

収集されたファイルが監視フォルダーに表示されると、監視レンダリングエンジンすべてが自動的にレンダリングを開始します。 必要に応じて、Collect Filesコマンドを使用してコンポジションとその引用元フッテージを指定した場所に保存し、後でウォッチフォルダーレンダリング処理を開始することができます。この場合、プロジェクトは、指定場所に保存された順序ではなく、アルファベット順にレンダリングされます。

監視フォルダーレンダリングの依存関係を トラッキングする

ネットワーク経由でレンダリングする際に、Post-Render Actionオプションを設定することでレンダリングの依存関係をトラッキングできます。これらのオプションを使用することにより、レンダリングの必要があるすべてのアイテムについて、レンダリングが可能かどうかと、レンダリングの準備ができているかどうかが確認されます。 例えば、あるアイテムのレンダリングが別のアイテムに従属していて、最初のアイテムがレンダリングを完了していないか、エラーを受け取った場合、2 番目のアイテムはレンダリングされません。

このプロセスは、監視フォルダーレンダリングから単一の QuickTime または AVI ムービーをレンダリングする場合に使用できます。 この場合、ムービーは 1 台のコンピューター上でのみ作成されます。

メモ

この手順では、複数のコンピューターで処理される監視フォルダーが 既に作成されていることが前提条件となります。

Render Queue パネルで、出力モジュールをProjectパネルにドラッグします。これにより、そのアイテムを出力するためのプレースホルダーが作成されます。

プレースホルダーをRender Queueパネルに戻します。

プレースホルダーのレンダリング設定と出力モジュール設定を行い、Renderを選択します。

監視フォルダーモードで起動する

監視フォルダーモードは、ローカルコンピューター上のフォルダーからの レンダリングにのみ適用されます。

  • After Effects を自動的に監視フォルダーモードで起動するには、Watch This Folder.aep というファイル名でプロジェクトを保存します。 そのプロジェクトを開くと、そのプロジェクトが入っているフォルダーが監視されます。
  • コンピューターの起動時にAfter Effectsをウォッチフォルダーモードで開始するには、Watch This Folder.aepプロジェクトのショートカット(Windows)またはエイリアス(macOS)を作成し、それをStartupフォルダー(Windows)またはStartup Itemsフォルダー(macOS)に移動します。そのプロジェクトを開くと、そのプロジェクトが入っているフォルダーが監視されます。
  • (Windowsのみ)コマンドラインからAfter Effectsをウォッチフォルダーモードで開始するには、Start > Runを選択し、以下を入力します。アプリケーションパスをAfter Effectsをインストールしたフォルダーの正確な名前に変更し、C:\[temp]をウォッチフォルダーのパスに置き換えてください:「C:\Program Files\Adobe\Adobe After Effects\Support Files\afterfx.exe」 -wf C:\[temp]
メモ

フルバージョンの After Effects ではなく、After Effects のレンダリングエンジンを起動するには、コマンドで -re オプションを使用します。 コマンドラインを使用すると、バッチファイルを処理することもできます。

レンダーファーミング - 複数のコンピューターを使用した静止画シーケンスのレンダリング

レンダーファーミングとは、コンピューターのネットワークを使用して 1 つのコンポジションをレンダリングすることです。 レンダリング専用バージョンの After Effects (レンダリングエンジン)と連携動作するように設定できます。 レンダーファーミングを使用すると、1 つのマシンでコンポジションを書き出す場合の時間を短縮できます。 複数のコンピューターと After Effects の複数のコピーを使用して、ネットワークを通じてコンポジションをレンダリングできます。 複数のコンピューターを使って静止画シーケンスをレンダリングすることはできますが、1 つのムービーをレンダリングすることはできません。

ネットワークの設定

ネットワーク設定の要件については、図に示すプロセスに従ってください。

ネットワークレンダリングの設定

A. フルバージョンの After Effects がインストールされているコンピューター B. プロジェクトとすべてのソースファイルをサーバーのフォルダーに保存 C. レンダリングエンジンがインストールされているコンピューター D. プロジェクトを開き、サーバー上の指定された出力フォルダーに静止画シーケンスをレンダリング 

レンダリングには任意の数のコンピューターを使用できます。一般に、コンピューター数が多くなると、レンダリングの速度も上がります。 ただし、通信量の多いネットワークで多くのコンピューターを使用すると、ネットワークトラフィックの増加によって全体の処理速度が低下する場合があります。 レンダーキューパネルの「現在のレンダリング」で圧縮と書き込み中ステージの所要時間を確認することにより、ネットワークの処理速度の低下を検知することができます。

メモ

アドビでは、 一般的なネットワーク構築に関するテクニカルサポートは行っておりません。 ネットワーク管理者にお問い合わせください。

複数のコンピューターを使用した静止画シーケンスのレンダリング

複数のコンピューターで静止画シーケンスをレンダリングするプロセスの重要ポイントを以下に示します。 

  • 任意の数のコンピューターを使用して、複数のコンピューターで静止画シーケンスをレンダリングできます。 
  • 複数のコンピューターで静止画シーケンスをレンダリングすると、After Effects の各コピーでレンダリングがほぼ同時に開始されます。 
  • キューで待機中のレンダーアイテムが「既存ファイルをスキップ」 (「レンダリング設定」オプション) に設定されている場合、レンダリングプロセスは既存のフレームまたは処理中のフレームをスキップします。 
  • 複数のコンピューターがプロジェクトを同時にレンダリングし、静止画シーケンスを 1 つのフォルダーに書き出すことができます。

静止画シーケンスをレンダリングするには、次の手順に従ってください。

プロジェクトをレンダリングする各コンピューターに、After Effects をインストールします。 各コンピューターに同じフォントがインストールされていることを確認してください。

メモ

プラグインはネットワークで共有しないでください。 After Effects を実行している 各コンピューターに、プラグインフォルダーがあることを 確認してください。 サードパーティプラグインを使用する場合も、 すべてのコンピューターにプラグインがインストールされていること、 およびプラグインに必要な数だけのライセンスがあることを確認してください。

1 つのコンピューター上で目的のプロジェクトを開き、コンポジション/レンダーキューに追加を選択します。

レンダーキューパネルの「出力モジュール」で形式を指定し、「出力先」でフォルダーを指定します。 このフォルダーは、レンダリングを行うすべてのコンピューターからアクセス可能である必要があります。

レンダーキューパネルの「レンダリング設定」で「既存ファイルをスキップ (複数のシステム上でのレンダリングを可能にする) 」を選択します。これは、複数のコンピューターが同じフレームをレンダリングしないようにするためのオプションです。 既存ファイルをスキップする場合は、1 つのレンダリングアイテムに対して複数の出力モジュールを使用しないでください。

プロジェクトを、手順 2 で プロジェクトを開いたコンピューター上に保存します。
レンダリングを実行する各コンピューターで、このプロジェクトを 開いて保存します。 プロジェクトを保存することで、以降の手順で使用される 新しい相対パスが各コンピューターに確実に登録されます。
ネットワークでサイズの大きなファイルの高速転送をサポートしている場合を除き、 プロジェクトファイルとすべてのソースフッテージを、 各レンダリングコンピューターにコピーします。

各コンピューターでレンダーキューパネルを開き、「レンダリング」ボタンをクリックします。 各コンピューターのレンダリングを同時に開始する必要はありませんが、作業量を等しくするには、ほぼ同時に開始してください。 各コンピューターが 1 つのフレームのレンダリングを終了すると、After Effects が、次にレンダリングする未処理フレームを出力フォルダーから検索し、レンダリングが再開されます。

どのコンピューターも、いつでも停止または開始することができます。 ただし、 コンピューターを停止した後再開しないと、 レンダリング中のフレームの処理が完了しない場合があります。 レンダリング中に1 台以上のコンピューターが停止した場合は、 いずれかのコンピューターを起動して、シーケンス内の すべてのフレームを確実にレンダリングするようにしてください。

非ロイヤリティベアリングモードでの aerender の実行

ライセンスの問題により、レンダリング専用マシンでは After Effects CS5.5 をシリアライズする必要がありました。 After Effects CS6 以降では、aerender を実行したり、非ロイヤリティベアリングモードでのフォルダー監視を使用できるようになったため、シリアライズは必要ありません。

After Effects が非ロイヤリティベアリングモードで実行されるように、以下の場所に ae_render_only_node.txt という名前の空のファイルを配置します。

After Effects をレンダリング専用コンピューターにインストールします。

  • Mac での場所:

    /Users/<username>/Documents/

    /Users/Shared/Adobe/

  • Windows での場所:

    C:¥Users¥<username>¥Documents

    C:¥Users¥Public¥Documents¥Adobe

セグメントの設定

セグメントの設定は、環境設定の「出力設定」で 行います。

メモ

編集/環境設定/ 出力設定 (Windows) または After Effects/環境設定/出力設定 (Mac OS) を選択します。

After Effects では、シーケンスやムービーファイルを、指定したファイルの数やファイル サイズに基づいて複数のセグメントに分けてレンダリングすることができます。 この機能は、650 MB の CD-ROM など、サイズが限られている媒体でムービーを用意する場合に便利です。 「映像のみのムービーファイルを [n] MB でセグメント」に、出力ファイルの最大サイズをメガバイトで指定します。 「シーケンスを [ファイル数] ファイルでセグメント」に、各フォルダーに出力する静止画ファイルの最大数を指定します。

ハードディスクフォーマットの制限を超えたサイズでムービーを書き出す場合は、「映像のみのムービーファイルを [n] MB でセグメント」に制限値より小さい値を設定します。 Windows 用にフォーマットされたディスクは、FAT、FAT32、または NTFS 方式でフォーマットできます。 FAT 方式の最大ファイルサイズは 2 GB で、FAT32 方式の場合は 4 GB です。 NTFS のファイルの最大サイズは大きいため (約 16 TB) 、1 つのムービーで最大値に達することはほとんどありません。

オーディオが入っていないムービーのみをセグメント化できます。 出力モジュールにオーディオが含まれている場合、そのアイテムに指定した「映像のみのムービーファイルを [n] MB でセグメント」環境設定は無視されます。

レンダリング設定で「既存ファイルをスキップ」を選択したレンダリングアイテムについては、「シーケンスを環境設定でセグメント」の指定は無視されます。 (レンダリング設定リファレンスを参照)。

メモ

セグメント化したムービーを C:¥ などのルートディレクトリに、 レンダリングして書き出すことはできません。 セグメント化したムービーをレンダリングし書き出すには、ルート ディレクトリ以外の出力ディレクトリを選択します。 (レンダリング出力のファイル名と場所を 指定するを参照)。