Skip to main content
eeeeeeiji
Participant
April 30, 2024
Answered

After Effectsの自動スクリプト実行に関する問題

  • April 30, 2024
  • 1 reply
  • 789 views


お世話になっております。

現在、After Effectsを使用して自動化処理を試みていますが、
Pythonスクリプトやコマンドラインを使用してAfter Effectsを
自動起動しスクリプトを実行する際に、
After Effectsが予期せず終了する問題に直面しています。

具体的には、After Effectsの自動起動は問題なく行えますが、
スクリプトを自動実行させるとAEが終了してしまいます。
スクリプトの手動実行は問題ありません。

Pythonを使用してAE起動+UI経由でスクリプトの適用も試みましたが、
それもうまくいきませんでした。

同様の現象は2台のPCで確認されています。

使用しているAfter Effectsのバージョンは2024で、
オペレーティングシステムはWindows 10です。
GPUドライバは最新のものに更新済みですが、問題は解決していません。

この問題の解決策またはトラブルシューティングの手順について、アドバイスをいただけますと幸いです。

よろしくお願いいたします。

This topic has been closed for replies.
Correct answer eeeeeeiji

pythonでexe化しないままいくならPopenのcreationflagsに以下のようにsubprocess.CREATE_BREAKAWAY_FROM_JOBフラグを立ててもいいかもです。

    proc = subprocess.Popen(
        cmd,
        env=os.environ,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
        creationflags=subprocess.CREATE_BREAKAWAY_FROM_JOB
        | subprocess.CREATE_NO_WINDOW,
    )

 


ありがとうございます!

原因らしきものが、判明しました。
コマンドからスクリプトを適用する際、
新規のプロジェクトじゃないと機能しないようです。


ずっと既存のプロジェクトを開くとこから
スクリプトを適用までコマンドでしようとしてました。

新規のプロジェクトに適用の動きに変更したら
コマンドラインでもPythonでもできました。


なので、既存のプロジェクトを開く動作を
スクリプトの方に持っていこうと思います。


これが原因かは断言できませんが
とりあえず1歩前進できました!


ありがとうございます!

1 reply

Participating Frequently
April 30, 2024

実行するスクリプトにapp.exitAfterLaunchAndEval = falseを差し込めばよいかもしれないです。

https://aejsx.hiroshisaito.net/application-object/attributes/exitafterlaunchandeval

eeeeeeiji
eeeeeeijiAuthor
Participant
April 30, 2024


早速の反応ありがとうございます。

tetsuohさんからアドバイス頂いたapp.exitAfterLaunchAndEval = falseをスクリプトに追加して実行してみたのですが、After Effectsは依然として予期せず終了してしまいました。

お忙しい中ご助言いただきありがとうございました。
(もし、引き続きトラブルシューティングを行う上でのヒントがあれば助かります)

eeeeeeiji
eeeeeeijiAuthorCorrect answer
Participant
April 30, 2024

pythonでexe化しないままいくならPopenのcreationflagsに以下のようにsubprocess.CREATE_BREAKAWAY_FROM_JOBフラグを立ててもいいかもです。

    proc = subprocess.Popen(
        cmd,
        env=os.environ,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
        creationflags=subprocess.CREATE_BREAKAWAY_FROM_JOB
        | subprocess.CREATE_NO_WINDOW,
    )

 


ありがとうございます!

原因らしきものが、判明しました。
コマンドからスクリプトを適用する際、
新規のプロジェクトじゃないと機能しないようです。


ずっと既存のプロジェクトを開くとこから
スクリプトを適用までコマンドでしようとしてました。

新規のプロジェクトに適用の動きに変更したら
コマンドラインでもPythonでもできました。


なので、既存のプロジェクトを開く動作を
スクリプトの方に持っていこうと思います。


これが原因かは断言できませんが
とりあえず1歩前進できました!


ありがとうございます!