After Effects のaerender.exeを使用したバッチレンダリング方法について書いてみます。複数のプロジェクトを連続してレンダリングしたい場合に便利です。
バッチファイル作成
例えばCut_001.aep、Cut_002.aep、Cut_003.aepのように複数のプロジェクトファイルがあって、全てのプロジェクトをレンダリングする場合について書いてみます。
テキストエディタを使用してaerender.exeと.aepファイルへのパスを記述し、拡張子を.batにして保存します。バッチファイルは行ごとにコマンドが実行されるので改行には注意してください。
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe" -project C:\BatchFolder\Cut_001.aep
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe" -project C:\BatchFolder\Cut_002.aep
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe" -project C:\BatchFolder\Cut_003.aep
cmd /k
.batをダブルクリックするとコマンドプロンプトが起動してレンダリングが実行されます。レンダリングが終了したらコマンドプロンプトを閉じて完了です。
プロジェクトファイルは、あらかじめレンダーキューを追加してファイルの出力先を設定して「レンダリング」ボタンを押すだけの状態にしておく必要があります。
ファイルパスについて
上の例ではaepファイルへのパスがわかりやすいようにドライブ名を含めた「C:\BatchFolder\Cut_001.aep」のような絶対パスで記述してますが、バッチファイルからの相対パスで指定することもできます。
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe" -project %~dp0\Cut_001.aep
「%~dp0」はバッチファイルのあるカレントディレクトリを設定するコマンドです。
引数
aerenderは引数を使用してレンダリングするフレームやコンポジッションを指定することが出来ます。個人的には全く使わないけど、テストしたのでメモっておきます。
以下は「CompositionA」というコンポジッションをレンダリングして、任意のディレクトリにファイル出力する例です。
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\aerender.exe" -project C:\BatchFolder\Cut_001.aep -comp "CompositionA" -output C:\BatchFolder\Output\Cut001_[####].psd
cmd /k
ちなみに -comp がないと -output を使用してファイルパスを変えられません。マニュアルには「引数を指定しない場合は、レンダーキュー内のコンポジションすべてがレンダリングされます。この場合は、–project、–log、–output、–v、–mem_usage および -close 引数のみが使用され、その他の引数は無視されます。」と記載されてますがCS6では動作しません。-comp がない場合は「-comp がないので-output引数は無視されます。」という警告がでます。
–output を使用すると出力パスと出力ファイル名を指定することができますが、拡張子を変えててもファイルフォーマットは変わらないようです。
監視フォルダーモード
バッチファイルを使用して監視フォルダーモードを実行することもできます。「監視フォルダーモード」は複数のPCがフォルダを監視し、レンダリング可能なプロジェクトがあればフレーム単位で分散レンダリングしてくれる機能です。
テキストエディタを使用してAfterFX.exeと、 -wf を使用して監視するディレクトリを記述し、拡張子を.batにして保存します。
"C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\AfterFX.exe" -wf C:\BatchFolder\
「監視フォルダーモード」でレンダリングするには「レンダリング制御ファイル」 が必要です。ファイルメニューの「フォルダを収集」実行時に作成されます。
レンダリング制御ファイル
レンダリング制御ファイルは「フォルダを収集」を実行すると.aepと同じディレクトリに「プロジェクト名_RCF.txt」という形で作成されます。
テキストファイルの中身はこんな感じで、使用するPCの上限などが書かれてます。
After Effects 11.0v1 Render Control File
max_machines=5
num_machines=0
init=0
html_init=0
html_name=""
レンダリング完了後は以下のようになる。
After Effects 11.0v1 Render Control File
max_machines=5
num_machines=1
init=1
html_init=1
html_name="Cut001_00.htm"
item1=(Finished,1,1,0)
レンダリングが完了するとレンダリング制御ファイルにレンダリング済みのフラグが書きこまれ、「監視フォルダーモード」のレンダリング対象から除外されます。「init=1」を「init=0」に変えると再度レンダリング対象になります。
参考
aerenderの引数はマニュアルに記載されています。
https://helpx.adobe.com/jp/after-effects/using/automated-rendering-network-rendering.html