An After Effects render queue for ShotGrid Toolkit.

Overview

AEQueue

An After Effects render queue for ShotGrid Toolkit.

Features

  • Render multiple comps to locations defined by templates in your Toolkit config.
  • Compress full-res renders as MP4 and GIF using ffmpeg.
  • Copy compressed renders to a review folder.
  • Upload renders to ShotGrid for review.

Installing

To install AEQueue make the changes in the example_config directory to your own toolkit config. This includes the following:

  1. Modify env/app_locations.yml to include tk-aftereffects-queue.
  2. Add env/includes/settings/tk-aftereffects-queue.yml to configure AEQueue. (See info.yml for details on configuration values.)
  3. Modify env/includes/settings/tk-aftereffects.yml to include AEQueue in your asset_step and shot_step sections for the tk-aftereffects engine.

TODO

  • Make UI dpi-aware.
  • Add Publish step to publish the base render (and aep?)
  • Add pre and post render hooks.
Comments
  • AEQueue encoding error on Mac

    AEQueue encoding error on Mac

      anim_seqa_031_v028
      queued [  0%] Flow initialized...
       ├ waiting [  0%] rendering initialized...
       ├ waiting [  0%] encoding MP4 initialized...
       ├ waiting [  0%] encoding GIF initialized...
       ├ waiting [  0%] copying MP4 initialized...
       ├ waiting [  0%] copying GIF initialized...
       ├ waiting [  0%] uploading initialized...
      queued [  0%] Waiting for requirements...
      rendering [  0%] Upstream Dependencies satisfied...
      rendering [  0%] Status changed from WAITING to RUNNING.
      rendering [  0%] Setting context...
      rendering [  0%] Starting...
       ├ running [  0%] Status changed from WAITING to RUNNING.
       ├ running [  0%] Preparing output path...
       ├ running [ 40%] Setting Full Flat Path: /Volumes/GoogleDrive/Shared drives/22-XXX-TestA/animation/renders/ae/seqA/seqa_031/anim_seqa_031_v028.mov
       ├ running [ 40%] Rendering [BNS - ProRes 4444+]
       └ success [100%] Status changed from RUNNING to SUCCESS.
      encoding MP4 [ 16%] Setting context...
      encoding MP4 [ 16%] Starting...
       ├ running [  0%] Status changed from WAITING to RUNNING.
       └ failed [  0%] Task failed to execute...
    Traceback (most recent call last):
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/core.py", line 226, in run
        self.result = self.execute()
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/encode.py", line 73, in execute
        self.dst_file,
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/vendor/ffmpeg_lib/__init__.py", line 125, in encode
        **platform_kwargs
      File "/Applications/Shotgun.app/Contents/Resources/Python3/lib/python3.7/subprocess.py", line 800, in __init__
        restore_signals, start_new_session)
      File "/Applications/Shotgun.app/Contents/Resources/Python3/lib/python3.7/subprocess.py", line 1551, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    PermissionError: [Errno 13] Permission denied: 'ffmpeg'
       └ failed [  0%] Status changed from RUNNING to FAILED.
      encoding MP4 [ 16%] Status changed from RUNNING to FAILED.
    
    bug 
    opened by danbradham 1
  • Permissions error updating existing Version.

    Permissions error updating existing Version.

       └ failed [ 50%] Creating or updating Version in ShotGrid...
       └ failed [ 50%] Task failed to execute...
    Traceback (most recent call last):
      File "/Users/--------/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.6.2/python/aequeue/tasks/core.py", line 234, in run
        self.result = self.execute()
      File "/Users/--------/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.6.2/python/aequeue/tasks/sgupload.py", line 76, in execute
        version = self.create_version(sg, version_data)
      File "/Users/-------/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.6.2/python/aequeue/tasks/sgupload.py", line 117, in create_version
        sg.update('Version', version['id'], version_data)
      File "/Users/-------/Library/Caches/Shotgun/brandnewschool/p4348c3598.basic.adobe/cfg/install/core/python/tank_vendor/shotgun_api3/shotgun.py", line 1401, in update
        record = self._call_rpc("update", params)
      File "/Users/--------/Library/Caches/Shotgun/brandnewschool/p4348c3598.basic.adobe/cfg/install/core/python/tank/authentication/shotgun_wrapper.py", line 63, in _call_rpc
        return super(ShotgunWrapper, self)._call_rpc(*args, **kwargs)
      File "/Users/--------/Library/Caches/Shotgun/brandnewschool/p4348c3598.basic.adobe/cfg/install/core/python/tank_vendor/shotgun_api3/shotgun.py", line 3360, in _call_rpc
        self._response_errors(response)
      File "/Users/-------/Library/Caches/Shotgun/brandnewschool/p4348c3598.basic.adobe/cfg/install/core/python/tank_vendor/shotgun_api3/shotgun.py", line 3665, in _response_errors
        raise Fault(sg_response.get("message", "Unknown Error"))
    tank_vendor.shotgun_api3.shotgun.Fault: API update() CRUD ERROR #4: The field is not editable for this user: [Version.user]. Rule: Artist -- PermissionRule 4910: DENY update_field FOR entity_type => Version, field_name => user, field_value => 
    

    Looks like fields were being modified that should not have been, namely the user field. Fix by reducing the fields to update to the bare minimum.

    bug 
    opened by danbradham 0
  • Copy file before bg render.

    Copy file before bg render.

    Make a copy of the AE project and pass the copy to aerender for background rendering. Ensures that the bg render process has a static and up-to-date copy of the AE project to work with!

    Addresses a bug where starting a bg render would not get the latest changes in your scene.

    bug 
    opened by danbradham 0
  • Stability

    Stability

    • Suppress dialogs while rendering directly in AE. Users should no longer need to accept dialogs for overwriting renders or warnings about color bit depth.

    • Fix issue where a Failed task was not propagated to all depedent jobs, causing the dialog to get stuck running, when it should Fail.

    • Fix failure caused by rendering to Google Drive on some fresh installs of ShotGrid. Solved by fixing the following two related issues.

      • Fix path generation ensuring that paths point to the correct output folders.
      • Fix BNS output module templates. Please remove the existing templates
    • Improved reliability of background rendering.

    • Set default background rendering threads to 4.

    opened by danbradham 0
  • AEQueue render error on Mac OS 12 (Monterey)

    AEQueue render error on Mac OS 12 (Monterey)

    anim_ae_demo_v003_TEST
      queued [  0%] Flow initialized...
        waiting [  0%] rendering initialized...
        waiting [  0%] encoding MP4 initialized...
        waiting [  0%] encoding GIF initialized...
        waiting [  0%] copying MP4 initialized...
        waiting [  0%] copying GIF initialized...
        waiting [  0%] uploading initialized...
      rendering [  0%] Waiting for requirements...
      rendering [  0%] Upstream Dependencies satisfied...
      rendering [  0%] Status changed from WAITING to RUNNING.
      rendering [  0%] Setting context...
      rendering [  0%] Starting...
        running [  0%] Status changed from WAITING to RUNNING.
        running [  0%] Preparing output path...
        running [ 40%] Setting Full Flat Path: /Volumes/GoogleDrive/Shared drives/22-XXX-TestA/animation/renders/ae/ae/ae_demo/anim_ae_demo_v003_TEST.mov
        running [ 40%] Rendering [BNS - ProRes 422]
        failed [ 60%] Task failed to execute...
    
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/core.py", line 224, in run
        self.result = call_in_main(self.execute)
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/core.py", line 717, in call_in_main
        raise exc_value.with_traceback(exc_traceback)
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/core.py", line 692, in event
        result = event.fn(*event.args, **event.kwargs)
      File "/Users/Edit/Library/Caches/Shotgun/bundle_cache/github/nybrandnewschool/tk-aftereffects-queue/v0.3.0/python/aequeue/tasks/aerender.py", line 54, in execute
        raise AERenderFailed('Failed to render queue item: %s' % self.comp)
    
    
        failed [ 60%] Status changed from RUNNING to FAILED.
      rendering [ 10%] Status changed from RUNNING to FAILED.
    
    bug 
    opened by danbradham 0
Releases(v0.6.3)
  • v0.6.3(Dec 9, 2022)

    What's Changed

    • Fix permissions error when updating existing Version. by @danbradham in https://github.com/nybrandnewschool/tk-aftereffects-queue/pull/13

    Full Changelog: https://github.com/nybrandnewschool/tk-aftereffects-queue/compare/v0.6.2...v0.6.3

    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Oct 3, 2022)

    What's Changed

    • Copy project file before bg rendering. by @danbradham in https://github.com/nybrandnewschool/tk-aftereffects-queue/pull/11
    • Fix ensure_optimal_context. Ensure optimal context now correctly handles an edge case where a shot that has multiple tasks for a single pipeline step. by @danbradham https://github.com/nybrandnewschool/tk-aftereffects-queue/pull/11

    Full Changelog: https://github.com/nybrandnewschool/tk-aftereffects-queue/compare/v0.6.1...v0.6.2

    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Jun 17, 2022)

    What's Changed

    • Fix AttributeError in app teardown. by @danbradham in https://github.com/nybrandnewschool/tk-aftereffects-queue/pull/9
    • Ensure flows reach 100% when status changes to Done.

    Full Changelog: https://github.com/nybrandnewschool/tk-aftereffects-queue/compare/v0.6.0...v0.6.1

    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Jun 17, 2022)

    What's Changed

    • Stability by @danbradham in https://github.com/nybrandnewschool/tk-aftereffects-queue/pull/7

    • Suppress dialogs while rendering directly in AE. Users should no longer need to accept dialogs for overwriting renders or warnings about color bit depth.

    • Fix issue where a Failed task was not propagated to all dependent jobs, causing the dialog to get stuck running, when it should Fail.

    • Fix failure caused by rendering to Google Drive on some fresh installs of ShotGrid. Solved by fixing the following two related issues.

      • Fix path generation ensuring that paths point to the correct output folders.
      • Fix BNS output module templates. Please remove the existing templates
    • Improved reliability of background rendering.

    • Set default background rendering threads to 4.

    Full Changelog: https://github.com/nybrandnewschool/tk-aftereffects-queue/compare/v0.5.0...v0.6.0

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Jun 14, 2022)

  • v0.4.0(Jun 14, 2022)

  • v0.3.1(Jun 14, 2022)

Owner
Brand New School
Brand New School
Render reMarkable documents to PDF

rmrl: reMarkable Rendering Library rmrl is a Python library for rendering reMarkable documents to PDF files. It takes the original PDF document and th

Robert Schroll 95 Dec 25, 2022
Render your templates using .txt files

PizzaX About Run Run tests To run the tests, open your terminal and type python tests.py (WIN) or python3 tests.py (UNX) Using the function To use the

Marcello Belanda 2 Nov 24, 2021
Render to print for blender 2.9+

render_to_print_blender_addon ** render2print: Blender AddOn for Blender 2.90.0+ ** Calculates camera parameters to allow printing a rendered image to

null 5 Nov 19, 2021
Blender Add-on That Provides Quick Access to Render Controls

Blender Render Buttons Blender Add-on That Provides Quick Access to Render Controls A Blender 3.0 compatablity update of Blender2.8x-RenderButton v0.0

Don Schnitzius 3 Oct 18, 2022
HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects

HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects. I developed a python wrapper that automatically performs MC and aging simulations using HPSICE to save engineering hours.

Habib Kazemi 2 Nov 22, 2021
CBO uses its Capital Tax model (CBO-CapTax) to estimate the effects of federal taxes on capital income from new investment

CBO’s CapTax Model CBO uses its Capital Tax model (CBO-CapTax) to estimate the effects of federal taxes on capital income from new investment. Specifi

Congressional Budget Office 7 Dec 16, 2022
Monitor the New World login queue and notify when it is about to finish

nwwatch - Monitor the New World queue and notify when it is about to finish Getting Started install python 3.7+ navigate to the directory where you un

null 14 Jan 10, 2022
Cup Noodle Vending Maching Ordering Queue

Noodle-API Cup Noodle Vending Machine Ordering Queue Install dependencies in virtual environment python3 -m venv

Jonas Kazlauskas 1 Dec 9, 2021
A Python 3 client for the beanstalkd work queue

Greenstalk Greenstalk is a small and unopinionated Python client library for communicating with the beanstalkd work queue. The API provided mostly map

Justin Mayhew 67 Dec 8, 2022
use Notepad++ for real-time sync after python appending new log text

FTP远程log同步工具 使用Notepad++配合来获取实时更新的log文档效果 适用于FTP协议的log远程同步工具,配合MT管理器开启FTP服务器使用,通过Notepad++监听文本变化,更便捷的使用电脑查看方法注入打印后的信息 功能 过滤器 对每行要打印的文本使用回调函数筛选,支持链式调用

Liuhaixv 1 Oct 17, 2021
Make after-work Mending More flexible In Python

Mending Make after-work Mending More flexible In Python A Lite Package focuses on making project's after-post mending pythonic and flexible. Certainly

null 2 Jun 15, 2022
This is the community maintained fork of ungleich's cdist (after f061fb1).

cdist This is the community maintained fork of ungleich's cdist (after f061fb1). Work is split between three repositories: cdist - implementation of t

cdist community edition 0 Aug 2, 2022
A Python script to delete movies with a certain tag after a certain amount of days.

radarr_autodelete Simple script, which deletes movies with a specific tag after a certain amount of days Pip Packages pip3 install pyarr python-dotenv

null 7 Dec 6, 2022
mrcal is a generic toolkit to solve calibration and SFM-like problems originating at NASA/JPL

mrcal is a generic toolkit to solve calibration and SFM-like problems originating at NASA/JPL. Functionality related to these problems is exposed as a set of C and Python libraries and some commandline tools.

Dima Kogan 102 Dec 23, 2022
A toolkit for developing and deploying serverless Python code in AWS Lambda.

Python-lambda is a toolset for developing and deploying serverless Python code in AWS Lambda. A call for contributors With python-lambda and pytube bo

Nick Ficano 1.4k Jan 3, 2023
This is the repo for Uncertainty Quantification 360 Toolkit.

UQ360 The Uncertainty Quantification 360 (UQ360) toolkit is an open-source Python package that provides a diverse set of algorithms to quantify uncert

International Business Machines 207 Dec 30, 2022
Dyson Sphere Program Blueprint Toolkit

dspbptk This is dspbptk, the Dyson Sphere Program Blueprint toolkit. Dyson Sphere Program is an amazing factory-building game by the incredibly talent

Johannes Bauer 22 Nov 15, 2022
A Dungeon and Dragons Toolkit using Python

Pythons-Dungeons A Dungeon and Dragons Toolkit using Python Rules: -When you are commiting please don't delete parts of the code that are important -A

null 2 Oct 21, 2021
Project issue to website data transformation toolkit

braintransform Project issue to website data transformation toolkit. Introduction The purpose of these scripts is to be able to dynamically generate t

Brainhack 1 Nov 19, 2021