hs_aebatExportの最近のブログ記事

0.8公開

| コメント(0) | トラックバック(0)

随分間が空いてしまいましたが、aebatExportのバージョン0.8を公開します。
名前はaebatExportですが、ほとんどバックグラウンドレンダリング用のスクリプトと化してます。

一部AE6.5に対応していないため、今回の公開はAE7以上を対象にしています。
クローズドで公開していたものと機能的には変更ありません。ただしhs_common.jsは不要になってます。書きかけのヘルプも付けておきます。

■新機能
- スタック機能を追加。
- CS3で「複数フレームのレンダリング」に対応。
- インターフェースが新しくなった。
- プロセス優先度が設定可能に。

■既知の問題点など
- [スタック編集]は現状では機能しません。スタックは(pref)フォルダに保存されます。スタックファイル自体はバッチコマンドの羅列なので、テキストエディタなどで書き換えれば編集可能です。
- GridIronのNucleo/NucleoProとコンフリクトを起こします。
- バックグラウンドレンダリング中に他のAEPファイルをダブルクリックで開くとレンダリングプロセスのウィンドウが開いてしまうことがあります。メニューから開くことで回避可能です。開いてしまったレンダリングプロセスのウィンドウは、レンダリング終了時に自動的に閉じるます。ウィンドウを閉じてしまうとバックグラウンドのレンダリングが中止してしまうので、レンダリング中はそのまま放置してください。
- Mac版で、日本語がパスに含まれるとうまくレンダリングできない問題。

本ソフトウェアの公開はBSDライセンスに基づいて行なわれます。以下の文章にご同意いただいた方のみダウンロードしてください。

-----------------------------------------------------

Copyright (c) 2006-2008, Hiroshi Saito
All rights reserved.

ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満たす場合に限り、再頒布および使用が許可されます。

- ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項を含めること。
- バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作権表示、本条件一覧、および下記免責条項を含めること。
- 書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進に、Pinapicsの名前またはコントリビューターの名前を使用してはならない。

本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。

-----------------------------------------------------

[同意してダウンロードする]

0.6hでファイルパスの記述などを書き換えたためにMac版ではうまくレンダリングできない状態でした。申し訳ありません。

クローズドテスト中の方々申し訳ありませんが0.6iをリリースしましたので、差し替えてください。hs_commonはアップデート不要です。一部Macユーザーの方にはメールにてファイル送信しました。Windows版は変更ありません。

作業日誌

| コメント(0) | トラックバック(0)

すでに同名(同じパス)のファイルがスタックされているかを判定するのに正規表現を駆使しつつ格闘してましたが...WindowsとMacのコマンドの違いなども全て分岐するのかと思うとそれだけで頭イタくなってきた。...で、ちょっと乱暴ですがファイルパスを全部 「" "」で囲ってやりましたとさ。あ〜、これで楽になった。

現在の状況:
- バージョン0.6hになってます。
- UI的には大きな変更はなし。ボタンの順番が変わったくらい?
- ファイルの出力時にダイアログ出すように。
- スタックは基本は機能してます。ただし後でスタックを編集するためのインターフェースが放置状態。
- オンラインヘルプつくってみたけどMac版6.5では機能せず。対処方法は分かってるんだがなんとなく放置。
- レンダリング出力先を変えようとすると結構面倒。「-output」で一括変換は無理...7.0マニュアルの「-comp」引数の説明間違えてる?対処としてはスクリプトからプロジェクト上で書き換えてしまうか、レンダキューのアイテム毎にコマンドを出力するか、いずれにせよ結構弄らないといけないなぁ。
- ふと思い立って外部からレンダリングテンプレートを読み込ませる実験を開始。これは別のスクリプト用。
- 余談ですが、前回の記事は通常の日記に書こうと思って間違えてこっちに書いてしまったわけです。今気がつきました。

作業日誌

| コメント(0) | トラックバック(0)

今開発中の最新バージョンは0.6dになってます。

ボタンが増えてきたのでインターフェース改良中。
[->スクリーンショット]

プロセス優先度を設定可能に
とりあえず3段階で。オススメは「中」。

複数フレームの同時レンダリング(CSのみ)
ちょっと色々あったがとりあえずCS3でスクリプトを起動したときには設定可能になってます。プロセス優先度の下の余白部分に出現します。

スタックの基本機能実装
スタックは一時ファイルに保存され、レンダリングしたくなったら「スタック出力」。出力されたバッチファイルをダブルクリックすれば、それまでスタックしていたレンダリングが順番に開始されるという感じ。「スタック出力」時に一時ファイルを削除するかという確認ダイアログ表示。
まだ「重複してスタックできてしまう+それを削除する手段がない」という状態なんだけど...

ついでにAboutとHelpを付けてみました
Aboutは単にアラートでスクリプト名とコピーライトを表示するだけ。
Helpはウェブブラウザを立ち上げてヘルプを表示します。Windowsなら「標準のブラウザ」になっているウェブブラウザで、MacOSXなら問答無用でSafariです。Windowsでどうやってブラウザを起動するかでちょっとハマりました...が、なんのことはなくてhtmlファイルを直接殴れば自動で標準のブラウザが起動してくれました。Macよりラクチンだった。
肝心のヘルプですが、当然ながらできてません。まだスクリプトの仕様自体固まってませんから、当たり前ですけど。

Windows版でプロセス優先度を設定。
Windowsのバッチコマンドはよく知らなかったので[ITPro Windowsコマンド集]を参考に。

プロセス優先度

| コメント(0) | トラックバック(0)

hs_aebatExportにプロセス優先度を設定するオプションをつける作業を始めました。(Mac版のみ)
しかし、なぜかプロセス優先度を下げるとaerenderがメモリ解放できずに落ちちゃいます。なんででしょ?単にniceコマンドでプライオリティの上げ下げしてるだけなんですけどね...

ついでにCS3で使用時にマルチプロセッサ用のオプション付けてみたり。もともと「NucleoProのBackgroundRenderをAE6.5でも使いたい」ってことで作り始めたのに、なぜかはまってます。

現在、スタック機能(仮称)を追加すべく作業中です。
スタック機能(仮称...面倒なので以下スタック)とは、バッチをそのまま出力せずに一時的にメモリしておいて、最後にまとめて出力させるためのものです。

スタックを使用することで複数のバッチコマンドを1つにまとめて、後でレンダリングすることが可能になります。これまでは個々に出力したバッチファイルをコピー&ペーストなどで編集してまとめていた方もいるかと思いますが、それが不要になります。

現状の仕様では、「スタック」ボタンを押すと一時ファイルにコマンドが追記されていきます。そろそろレンダリングと思ったら「スタック出力」ボタンを押してバッチファイルを出力します。一時ファイルはこのときに消去されます。(オプションで残すようにできたほうがいい?)
懸案事項としては「スタック」ボタンを同じプロジェクトで複数回押してしまうと、コマンドが重複してしまうことです。アラートを出してキャンセルするか、あるいは出力時に弾くか...ちょっと思案中。とりあえず、まだスタックの基本的な部分も完成していないので仕様も決定ではありません。

0.3c

| コメント(0) | トラックバック(0)

0.3cを公開します。

[ 注 意 ]
本番のお仕事で使用される前にこのスクリプトの癖やaerenderコマンドの癖には充分に慣れておいてください。くれぐれもいきなり仕事用のファイルで試したりしないように重ねてお願いします。レンダリングファイルの上書きなどをしてしまいますので、共有フォルダにバッチファイルを放置したり誤ってバッチファイルをクリックしたりすると、とんでもないことになるかもしれません。

使用方法などはこのカテゴリの過去の記事を参照してください。

新機能
- GUIから直接バックグラウンドレンダリングを起動できるようになりました。
(いかにもボタンがありそうだった場所に、ボタンが追加されてます)
- MacOSXではTerminal形式で出力されるようになりました。
- aerenderコマンドが見つけられなかった場合アラートを出します。

修正点
- AE6.5 Macでaerenderのパスが正しく認識されない問題を修正。
- テスト用のアラートが残っていたのを削除。

既知の問題点
- Mac版ではパスに日本語が含まれるとバッチレンダリングできません。案外根の深い問題のようなので、対応は未定です。当座は仕様だと思ってください。
- aerenderでレンダリング実行中にAfterEffectsのフロントエンドを使用すると、うまく動作しなかったりします。特にAE7では顕著です。
- 一部プラグインでは、バックグラウンドレンダリングにライセンスが持っていかれてしまってプラグインが使用できなくなることがあります。


ダウンロード
以下の文章を読んで同意いただけた方のみダウンロード可能とさせていただきます。
- 本スクリプトとドキュメントの著作権は作者にあります。
- 本スクリプトを使用に起因して利用者にいかなる損害が発生しても、作者は一切の責任を負いません。
- 本スクリプトとドキュメントを無断で再配布しないでください。ただし、利用者が本スクリプトを改造(一部引用して開発したもの)を利用者自身の責任において再配布する場合には、これを禁止しません。
- バグレポートなどはメールにてお願いします。使用OSやAEのバージョン(アップデートも含む)、問題発生時の操作手順など必ず書き添えてください。

同意してダウンロードする

aebatExportのバージョン0.3のリリース準備中。

- AfterEffectsのGUIから、直接バックグラウンドでaerenderを起動してレンダリングできるようになります。
- Mac版ではシェルコマンドではなく、Terminalのファイルとして出力されるようになります。
- OS判定による問題をちょっと修正。

AE6.5での使い勝手は向上してます。あとはMac版でのターミナルファイル化。実はこれもテンプレート自体はできているのですが、問題はターミナル起動に起因する諸々の問題が...まぁ、大したこっちゃないのですが、ちょっとまとまった時間とりにくい状態ですので。

バージョン0.3では実装されないものの、今後の予定として
- GUIデザイン変更。
- プロセスのプライオリティを設定できるようにする。

0.3は8月中にリリース「したい」。

AE7でバックグラウンドでのバッチレンダリングがちゃんと動いてくれない。
すでにaerenderが起動中というエラーが出ます。出力されたバッチを直接起動すれば大丈夫なのですが、AEからスクリプトUIでバッチを起動すると駄目。

あと、Mac版ではAE7でバッチレンダリングを回してると、AfterEffects本体が起動できません。バッチレンダリング開始時に起動していたものは大丈夫なのですが、一度でも終了してしまうとバッチレンダリングが終わるまでAfterEffectsが起動できないわけです。Windows版も必ずしも大丈夫というわけではなく、挙動がおかしくなったり、後ろで動いてるバッチレンダリングの状態が反映されてしまったり...
どうもAfterEffects7.0本体の問題のような気がする。

ちなみにAE6.5とCS3(8.0)では、問題なさそうなんですけど。もう少し検証。

先の不具合の報告ですが、実は開発中のバージョンで発生したもので、配布版は問題ないということが判明。とはいえ、6.5と7.0では日本語エンコードの違いなどもあるし、MacとWinではこれまた違うし...なので、本当に問題ないのかは本人にも今ひとつ確信持てない状況になってます。

何やってんだかなぁ...

あと、近日中にv0.3bというのを公開します。スクリプトから直接バッチレンダー回せるようにしたものです。レンダリング開始してから、AfterEffectsで別のファイルの作業できちゃったりするわけです。
Windows版の作業はほぼ終わってるのですが、Mac版がTerminal形式のバッチファイルに対応しないといけないのでちょっと時間食ってます。

出力されたバッチファイルの利用方法ですが、そのまま実行してもかまいませんが、内容をコピー/ペーストして複数のコマンドを1つのバッチファイルにまとめることができます。

NotePadなどを使用してコマンド文ごとに改行を入れてコマンド文を羅列し、拡張子を.batにすればバッチコマンドになるので、簡単に作成することができます。
DOSのバッチコマンドやVBのスキルがあればバッチを処理するためのバッチとか書いてもいいかもしれません...が、私はよくわかりません。

レンダキュー登録時に「既存ファイルをスキップ」オプションをつけておいて、1つのバッチファイル内に、同一コマンドを2回以上の書いておけば、途中でレンダリングが失敗した際の保険にもなります。またマルチコアの環境でCPUやメモリリソースに余裕がある場合は、同じコマンドを2つ同時にまわすことでレンダリング速度が向上できます。(いずれも連番でのレンダリングに限ります)

ちなみにMacでは現状ではシェルとして出力されるので、bashなどのシェルスクリプトで処理も可能です。将来的にはtermファイルにする予定。

次のバージョンあたりで複数のaepのレンダリングコマンドを1つにまとめるオプションを作成しようかと思います。どういう形にするのがいいのか、まだちょっと迷ってますが...

また少し忙しくなりそうですので、暫定的に公開してしまいます。

このスクリプトは、AEのプロジェクトファイルに対応したaerenderコマンドを作成するためのものです。※AE6.5以上で動作します。
AfterEffects上ではメモリ不足でレンダリングできないときなどもaerenderコマンドではレンダリングできてしまったり(必ずしもできるというわけではない)、レンダリング速度が少しだけ速くなったりします。

暫定公開なので、あまり機能は多くありません。なんか、OS判定とかパスの検出で力尽きた感が否めませんが...
試してみたい方はダウンロードしていただいて構わないのですが、本番のお仕事で使用される前にこのスクリプトの癖やaerenderコマンドの癖には充分に慣れておいてください。くれぐれもいきなり仕事用のファイルで試したりしないように重ねてお願いします。


詳細なマニュアルは予定した機能が出揃った時点で作成するつもり。

とりあえず、簡単に説明すると:
スクリプトを実行すると、設定ウィンドウが開きます。スカスカしていて、いかにも工事中...

スクリプトは使用OSに応じて、aerenderのコマンドを検索します。普通にAEをインストールしていれば、自動的にaerenderコマンドが検出される筈です。もしaerenderコマンドが検出されない場合は「aerenderコマンドパス」の欄にボタンが現れますのでそれを押してaerenderの場所を指定してください。

「バッチコマンド出力フォルダ」は通常はaepファイルと同じディレクトリになります。aepファイルが保存されていない状態では、「Documents」フォルダとなります。(Windowsの場合はMyDocuments)「A」と書かれたボタンを押すと、自動的に現在開かれているaepファイルのフォルダに移動します。

「出力」ボタンを押すとコマンド出力します。

ちなみに、このスクリプトはコマンド出力後もウィンドウが閉じません。次々とaepファイルを開いてバッチを出力することができますが、古いコマンドファイルは問答無用で上書きしますのでご注意ください。
プロジェクトファイルを開いたときに、自動的にコマンド出力パスが変更されません。都度「A」ボタンを押すなどしてください。同じ場所に出力する場合は不要です。

aerenderやaepファイルへのパスは、絶対パスで書かれていますので、違うマシンでコマンドを実行する場合には、それぞれのパスにご注意ください。レンダリングを行なうマシンでコマンドを出力するのが理想的です。

注意点
1つのaepファイルに対して1つのaerenderコマンドを出力します。つまり、このスクリプトを実行するには最低1回はプロジェクトを保存しておく必要があります。

レンダーキューは事前に登録しておく必要があります。レンダリング待ち状態のレンダーキューがないとエラーになりますので、ご注意ください。

aerenderコマンドは、aepファイルを参照しますので、aepファイルが最後に保存された状態でレンダリングします。aerenderコマンド実行後にaepファイルに変更が加わっても反映されませんので、実行前に必ずファイルを保存してください。

aerenderコマンドでは、レンダリング先に同じファイルが存在していても確認なしで上書きしてレンダリングしてしまいます。レンダリング後は速やかにコマンドファイルを削除するか、レダンリング済みのファイル(またはフォルダ)を移動しておく方が安全です。
aerenderコマンドを実行しながら、AfterEffectsで他の作業を行なうことも可能な筈ですが、なぜか不安定になったり、プラグインが認識されなくなったります。ちゃんと検証していないのですが、aerenderを実行中にAfterEffectsで作業することはお勧めしません。


インストール
AEのスクリプトフォルダ内の任意の場所にインストールします。外部依存ファイルはありませんが、ほかのhsスクリプトを使用されている場合は同じディレクトリにインストールすることをお勧めします。
AEの環境設定(「一般設定」項目にあります)でスクリプトによるファイルの書き込みが有効になっている必要があります。

ダウンロード
以下の文章を読んで同意いただけた方のみダウンロード可能とさせていただきます。
- 本スクリプトとドキュメントの著作権は作者にあります。
- 本スクリプトを使用に起因して利用者にいかなる損害が発生しても、作者は一切の責任を負いません。
- 本スクリプトとドキュメントを無断で再配布しないでください。ただし、利用者が本スクリプトを改造(一部引用して開発したもの)を利用者自身の責任において再配布する場合には、これを禁止しません。
- バグレポートなどはメールにてお願いします。使用OSやAEのバージョン(アップデートも含む)、問題発生時の操作手順など必ず書き添えてください。

同意してダウンロードする

My Latest Video

Powered by Movable Type 4.25