上枠
ZEUSブログ

After Effects ネットワークレンダリングに挑戦!(6)

■マルチマシンレンダリングの結果

ローカルで5分でできる動画が30分かかるのでは遅すぎです。そこで複数のPCを参加させて手分けして片付けるのがネットワークレンダリングの意義なわけです。

そこでPCを少しづつ増やしてデータを取ってみることにしました。

用意したパソコンですが、まず最初に使ったのが内部用PC。

基本的に長年使っているものなので、現行商品とはかけ離れた低スペックのもの。

1号機:support1-PC2  Core2 Quad Q9650 3GHz  メモリ4GB サポート事務・作業用

2号機:8man i7-920 2.67GHz  メモリ3GB  Adobe CC 作業用

これじゃお話にならないので、VSPECグループ各店の精鋭を集めました。

3号機:tenji-pc i7-4770 3.4GHz メモリ16GB デイトレ用展示PC

↑これはお客様がショースペースに来られた時に見ていただくパソコンですね。

4号機:名無し(WIN-B1U2PCHVCQD)  i7-4790K 4GHz メモリ16GB りほ藍スペシャル

これはゲームマシンですね。詳しくはこちらhttp://www.rising-bto.com/msi_special_03.html

ケース「Sharkoon BD28」イメージ4

5号機:名無し(WIN-NH3H3S6AGNQ) Xeon E5-1660 v2 3.7GHz メモリ20GB

これは在庫の売れ残り(苦笑)Xeonを使って組んだマシンです。

6号機:名無し(WIN-AVE6UQEPIE9 ) i7-4790K 4GHz メモリ16GB デイトレ高耐久

これはマルチディスプレイのトレーディング用マシンです。詳しくはこちらhttp://www.acharge-pc.com/bto/bto-daytrade-highdurability.html

Acharge 6面マルチi7 エクストリーム

After Effectsは全部体験版で、OSもただ入れただけで名前すら付いていません(笑)。

助っ人PCを交えながらのレンダリング開始!

結果2台

まずは2台構成。29分36秒。

結果3台

3台構成。23分26秒。

Xeonを1台投入することで6分短縮しているのは大きいと思います。

結果5台

5台構成。20分53秒。この時の時系列では4台構成のテストしてないですね。しかも、増えてるのは古いPCのほうだし(笑)。ちょっと実験のやり方に問題がありますね。この時点ではまだ、デイトレマシンはセットアップしていないのでしょうがないですね。しかし2台加えても3分しか短縮しないとは・・・Core2 Quadやi7-4770は戦力外通告ですね(笑)。全部Xeonで一度やってみたいです。4790Kでもいいですが。

 

さて、このタイム短縮の割合は、単純にPCの数に比例していないような気がします。つまりボトルネックがどこか別のところにあるわけですね。

 

Dr.クリス「ファイルサーバーは自作PC(※コンピュータ名)?それが原因じゃない?」

 

?っと思って調べてみると、ファイルサーバーのスペックはPentium4 3.2GHz メモリ2GB(笑)。

そりゃ遅いわ。

しかしファイルサーバーには2説あり、低スペックでいい、ATOMでもいいくらいという説と、マルチコア・多メモリのハイスペックじゃなきゃダメという説があります。

まあ弊社も実務的にはコスト優先で前者の見解を取っていますし、普通にファイルサーバーとして使うなら何の問題もありません。

しかしレンダリング用のネットワークドライブとしては貧弱すぎるのかもしれません。

 

Dr.クリス「今度NAS、2種類入荷するからそれ試してみたら?」

 

なるほど、NASですか。Windowsの余計なシステムがない分軽快な動作が期待できるかもしれませんね~。

というわけで、次回はNAS編です。お楽しみに!!

After Effects ネットワークレンダリングに挑戦!(5)

■違っているのはバージョン!!

そういえば、レンダリングが成功しているのは、プロジェクトファイルを開いて、レンダーキューを設定し、ファイルを収集したPC。

それ以外ではレンダリングエラー。

ファイルのパスが違うのかとか色々調べました。

ここで注意ですが、ファイルサーバーのネットワークドライブのパスは、どのPCでも同じにしておく必要があります。

あるPCではZドライブで、あるPCではYドライブで、同じサーバーの同じフォルダを参照しているとしても、だめです。

でも、そこは間違いないし、大体情報ファイルにパスの記載がありません。

そこでもう一度見返してみます。

After Effects 13.2v1 Render Control File
max_machines=5
num_machines=4
init=1
html_init=1
html_name=”rising_frame_00.htm”

そうだ、レンダリング失敗した方のPCでもプロジェクトを開いてファイル収集をしてみれば・・・・

それでできた情報ファイルの内容

After Effects 13.0v1 Render Control File
max_machines=5
num_machines=4
init=1
html_init=1
html_name=”rising_frame_00.htm”

 

あれ、先頭の行が違う!!13.0v113.2v1

これはAfter Effectsのバージョンが違うということ??

 

果たしてそれが正解でした。実はインストールに使ったファイルがちょっと古くて、同じCC 2014でもあらかじめインストールしていたものと、微妙なバージョンの差異ができていたのでした。

バージョンは、すべての編集PC、レンダリングサーバーとも揃えないといけないということでした。

ついでにいうと、プラグインも全部のPCに同じものをインストールしないといけないということです。この動画は標準のプリセットしか使っていないので大丈夫でしたけどね。

アップデートをかけたら、すべてのPCが動き出しました!!やった!!

■マルチマシンレンダリング開始!

watchfolder

監視フォルダの中には、このようなHTMLが生成されます。

これを見ることによって、レンダリング開始、終了のステータスやログが確認できます。プロジェクトのリンクをクリックすると、このような画面になります。

情報

上図では、2台のレンダリングマシンが参加しています。

ログファイルの中身はこんな感じです。

プロジェクドrising_frame2 (変換済み).aep゙のAdobe After Effects v13.2 (Windows 64)レンダリングログ

レンダリングは2015/05/26、 14:26:22に開始しました。

  2015/05/26 14:26:23 : コンポジション゙コンポ 1゙の開始

  レンダリング設定 : マルチマシン設定
  画質 : 最高
  解像度 : フル画質
  サイズ : 1280 x 720
  プロキシ : プロキシ使用しない
  エフェクト : 現在の設定
  ディスクキャッシュ : 読み取り専用
  色深度 : 現在の設定
  フレームブレンド : チェックしたレイヤーをオン
  フィールドレンダリング : オフ
  プルダウン : オフ
  モーションブラー : チェックしたレイヤーをオン
  ソロ : 現在の設定
  時間範囲 : ワークエリア
  開始 : 0;00;00;00
  終了 : 0;01;18;14
  デュレーション : 0;01;18;15
  フレームレート : 29.97 (コンポ)
  ガイドレイヤー : すべてオフ
  既存ファイルをスキップ : オン

  出力モジュール : マルチマシンシーケンス
  出力先 : Z:\AfterEffects出力\コンポ5\risingframe_[#####].psd
  形式 : Photoshopシーケンス
  出力情報 : -
  開始フレーム : 0
  オーディオ出力 : -
  チャンネル : RGB+アルファ
  深度 : 数百万色+
  カラー : 合成チャンネル
  サイズ変更 : -
  クロップ : -
  最終サイズ : 1280 x 720
  プロファイル :  -
  レンダリング後の処理 : なし

  0;00;00;00 (1): 2 秒
  0;00;00;01 (2): 2 秒
  0;00;00;02 (3): 2 秒
  0;00;00;03 (4): 3 秒
  0;00;00;04 (5): 3 秒
  0;00;00;05 (6): 2 秒
  0;00;00;06 (7): 2 秒
  0;00;00;07 (8): 5 秒
  0;00;00;08 (9): 3 秒
  0;00;00;09 (10): 2 秒
  0;00;00;10 (11): 2 秒
  0;00;00;11 (12): 2 秒
  (スキップ0;00;00;12) (13): 0 秒
  (スキップ0;00;00;13) (14): 0 秒

(中略)

 (スキップ0;01;18;14) (2353): 0 秒
  2015/05/26 14:55:58 : コンポジション゙コンポ 1゙の終了

  合計経過時間 : 29 分 36 秒

ログは2015/05/26、14:55:58に閉じられました。

スキップというのは、既に画像が出力されている場合に、処理をしないということ。
2台のサーバーで手分けしてるのがよくわかりますね。
全部で2353フレーム。
1分17秒の動画をレンダリングするのに、2台で30分かかっていますね。

これがi7-4790KのPCで、ネットワークを使わずにレンダリングすると
何分かかるかというと、5分48秒。
4790kl
それに比較すると、かかりすぎですよね。
さて次回は、これをいかに早くするかというお話です。お楽しみに!!

After Effects ネットワークレンダリングに挑戦!(4)

 ■1台しかレンダリングしていない!!

risingfarme22

一台だけは、上図のようにレンダリングを開始しました。しかし他のレンダリングサーバーは、ひたすら監視モードです。

kansichu

この画面で、次々ファイルを読んでいるらしいメッセージが出ていますが、どうもエラーメッセージらしいものも出ています。でも、ウインドウが狭くて端っこが見えず、ウインドウを広げることもできず、すぐにメッセージも流れていってしまうので、何が起きているのかわかりません。

色々ブログを見たり、試行錯誤してみましたがまったくわからず。一日棒に振って、明日は、Adobeに問い合わせてみよう!と決め、帰路につきました。

■ネットワークレンダリングはサポート対象外!?

Adobeのサポートは色々連絡方法があるのですが、電話だとうまく話せないような気がして、メールがいいかなと思ったのですが、ブラウザ上でチャットができることがわかったので、まずそこから試してみることにしました。

幸いにも、すぐに繋がりましたので、ネットワークレンダリングについての質問があると入力。

しかし・・・

ネットワークレンダリングはサポート対象外なので、フォーラムへの投稿をお願いします。

とのこと。えー!そうなんだ・・・

 

ああ・・・

 

一対一のサポートだと、初心者でも質問しやすいけど、フォーラムだと、当然礼儀もわきまえなければならないし、きちんとポイントを絞り込んで書き込まないと、迷惑になるし・・・

やはり、自分であらゆることを試してみて、完全に整理してから、どうしてもわからなければ、投稿することにしよう・・・

そんなふうに考えて、実験再開です。

エラーのところに見える文章は、レンダリング情報ファイルに何かエラーがあるらしいということ。

監視フォルダ

レンダリング情報ファイルというのは、上図で反転させたファイルです。ファイル収集時にマルチマシン用に設定するとこのファイルが生成されるようです。

その中身は、テキストで、以下のようになっています。

After Effects 13.2v1 Render Control File
max_machines=5
num_machines=4
init=1
html_init=1
html_name=”rising_frame_00.htm”

item21=(Finished,99,4,0)

この中の、どれかの情報が間違っているのでしょうか・・・?

まったくわかりません。

これで1日潰してしまいました・・・

 

さて、一体何がエラーの原因でしょうか?答えは次回の更新で!!

After Effects ネットワークレンダリングに挑戦!(3)

今回は具体的な作業手順、設定について見ていきましょう。

■インストール

レンダリングサーバー全てにAfter Effects CC 2014をインストールしていきます。今回は体験版モードなので、何台でもインストールできます。

これがAfter Effectsの画面です。既に完成したプロジェクトファイルを開いたところです。

after effects rising frame cpu1

■レンダリング設定

レンダーキュー

レンダリング設定は、プルダウンを開いて「マルチマシン設定」にします。このとき、ここをダブルクリックすると、詳細設定が開きますが、特に設定するところはないので開かなくてもいいです。開くと「カスタム」・・・と設定の名前が変わります。

出力モジュールも同様に、マルチマシンシーケンスに変更します。

出力先は、ファイルサーバー上のフォルダを指定します。このときのパスは、ネットワークドライブを割り当てて必要があります。例えば、ファイルサーバーが\\fileserverだったとして、\\fileserver\outputなどとしてはだめです。

この場合outputをすべてのネットワーク上のPCからフルアクセスできる共有フォルダにして、ネットワークドライブを割り当てます。(z:\outputなど)

レンダーキューに過去のキューが残っていて、チェックが入っていると、それも毎回レンダリングされてしまうので、チェックは一つだけいれておきます。

■ファイル収集

このプロジェクトファイルも、すべてのPCが参照できるファイルサーバーに置く必要がありますが、一緒にフッテージ(素材)ファイルも置かないと、空っぽの動画になってしまいます。

フッテージはPCによってはどこに保存してあるかわかりませんので、ネットワークにプロジェクトだけ保存しても、フッテージの参照ができないわけです。

そこでファイル収集というのをやります。これはすべての使用しているフッテージを集めて一つのフォルダに保存します。

ファイルを収集

設定上記の通り。デフォルト以外では「「フォルダーの監視」レンダリング使用可能」にチェックを入れるのが一番重要です。マシンの最大数は変えられなかったような・・・

これで、ファイルサーバーに監視フォルダを作り、そこに保存します。

フォルダーにファイルを収集

このフォルダのスクリーンショットは既に監視対象になっているので、別のプロジェクトの収集フォルダが入っていたり、監視情報ファイル(html)が入っていたりします。このHTMLは逐次アップデートされているので、レンダリングの状況を監視することができます。

ここまで準備出来たらファイル>フォルダーを監視を起動します。レンダリングサーバー、編集サーバーどちらからでも監視できます。

監視対象のフォルダの指定は、先ほどのファイル収集フォルダを保存した、ファイルサーバー上のフォルダにします。

kansichu

これが起動すると、上記の監視情報htmlが生成されます。

さあ、これでネットワークレンダリングが・・・あれ?1台しかレンダリングしてない!!どういうこと・・・?

・・・続きます。

After Effects ネットワークレンダリングに挑戦!(2)

はい、では初めてのネットワークレンダリング。試行錯誤の連続でしたが順を追って見て行きましょう。

■非ロイヤリティベアリングモード

https://helpx.adobe.com/jp/after-effects/using/automated-rendering-network-rendering.html

このページの説明では真っ先に出てくる手順ですが、正直言って未だによくわかりません(笑)。手順はそこに書いてあるとおりなのですが。

一応、こういう風に空のファイルを作りました。その効果は未確認です。

名称未設定-1

といいますのは、説明を見ると、レンダリングサーバーとしては、After Effectsをアクティベーションなしで使えるという意味に取れるのですが、説明通りにしても、2ライセンスのアカウントでは2台しか使えないから、一台ログアウトしろっていう警告が出ます。この辺未だよくわからないのですが、とりあえず実験ですからレンダリングサーバーは全部体験版をインストールしました。

■静止画ファイルのシーケンスでレンダリング

それに続いて上記のページでは、ネットワークレンダリングの出力形式について言及しています。

レンダリングは、普通aviとかmpegなどの動画ファイルとして出力されますが、複数のパソコンでレンダリングする場合はそれができません。まあ確かにそれはすごく難しいことだろうなと思います。

ではどうするのかというと、動画というのはもともと静止画の集合体です。もう、映画もフィルムでの配給が廃れつつありますが、映画のフィルムのように、一コマ一コマ別の画像がファイルに入っているわけです。

その一コマ一コマを1ファイルとして、連番のシーケンスファイルとして書き出していくというのです。これは、手描きの2Dアニメみたいに、複数の人が協力して一コマ一コマ絵を描いていくようなイメージですね。

実際、複数台でレンダリングするときには、既にレンダリングされ保存されているコマを検出すると、スキップされ、次のコマを書き出していくといった表示を確認できます。

そのコマを後で一括で読み込んで、動画ファイルにするわけですね。あれ、なんか二度手間のような・・・

しかし、編集パソコンではずっと編集を続け、別のマシンでずっとレンダリングを続けるとするならば、作業効率はアップしますよね。

 

さて、次回はレンダリングの設定について見ていきます。お楽しみに!!

After Effects ネットワークレンダリングに挑戦!(1)

■はじめに

こちらでははじめまして。Zeusのコンテンツ、バナーのデザイン等を担当しております通称「中の人」です。

今回は、Dr.クリスから、After Effectsのネットワークレンダリングについて調べるようにとのお達しがありましたので、その方面については素人ですが、さっそく挑戦してみました。

その時参考として渡されたのが以下のURLでした。

https://helpx.adobe.com/jp/after-effects/using/automated-rendering-network-rendering.html

Adobeの公式のドキュメントなのですが、AdobeにしろMicrosoftにしろ、どうしてわかりにくいテキスト中心なんでしょうか?

特にAdobeはヴィジュアル系の開発ソフトを販売してるんだから、もっと絵的にわかりやすいページを作ってくれるといいのですが。

そんなわけで、ほとんど頭に入ってこない状態でしたので、他のいくつかのブログなどを参考に進めていくことにしました。

■ネットワークレンダリングとは?

ネットワークレンダリングというのは、ネットワークを介して複数のパソコンで手分けしてレンダリングをすることです。レンダリングって何?っていう人はさすがにこのサイトには来てないと思いますが、まあ、念のために説明すると、広義には数値データを計算してビジュアルに落としこんでいく処理、この記事内での意味としては、ソフトで編集した動画を再生できる形式に書き出していくことだと言えるでしょう。

それより、意外にAfter Effectsのほうが説明が必要かもしれません。CG WORLD等ではNo.1の利用率を誇っているらしいということで、今回の企画が立てられたわけですが、実は当店のお客様は3ds Maxのユーザーが多いということで、当店でも、そんなに詳しい者はおりません。素人なりに、私が一番詳しい位でしょうかね。

それはなぜかというと、実はZeusの姉妹店である、RISING FORCEのプロモーション動画を作ったことがあるからなんですね。

その動画がこちらになります。

ちょっとZeusのサイトで見ると気恥ずかしい感じの動画ですが(笑)、こういう風に、2次元のイラストを動かしたり合成して動画を作れるのがAfter Effectsなんですね。この動画にも、実写のムービーが合成されていますが、当然実写映画のVFXなどにも使用されます。ソフト的にわかりやすく言うと、タイムラインのあるPhotoshopという感じでしょうか?Photoshopは写真にいろんな加工ができるソフトですが、それに時系列が加わって、様々な視覚効果を加える事ができるソフトです。

今回の実験では、この動画をレンダリングしてみたいと思います。動画をレンダリングするというのは正しくなくて、このプロジェクトファイルを使って動画をレンダリングする、というのが正確な表現でしょう。

それでは次回から、実際行なった試行錯誤の様子を順にお伝えしていきますので、どうぞお楽しみに!!

下枠
BackToTop
-->