Scripting OutputModules for outputting image sequences

Find out why the . goes before the /

Moderator: Paul Tuersley

Post Reply
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

I'm trying to add a comp to the render queue and set its output as sequential images. I'm really having trouble figuring out the best way to do this. From my script, I can import footage, add it to a comp, and add it to the render queue. It seems it's only possible to (A) choose from the list of Output Module Templates or (B) add my own. I wish to do neither. In the AE GUI, if you click on the Output Module, you can customize it (e.g.: change the file type, color depth, etc.); it does not add a template, it simply uses a preexisting template as its launch point. This is what I'd like to do.

Is this possible? It seems it is not. Even if I decide to create my own template, it doesn't seem as though all the options (bit depth, RLE compression, etc.) are available to me. Being able to import footage, create a comp, and render seems like the very basics that should be scriptable.
MYX_2000
Posts: 12
Joined: February 6th, 2012, 2:01 pm

You can choose what output module and render template you like. You can not define a new template or OM. I agree that these options would be nice. You could submit a feature request if you were so inclined. It will be interesting to see what is new in the CS6 scripting abilities. Being that it is a 'massive update' hopefully we will bet a bunch more toys too.

But back to the topic... If you want something specific you will need to build that template first then call it from your script.
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

Thanks for the reply. This was my fear.

I'm working on a script that will take footage, build a comp, and add it to the Render Queue. This script will be run by others and on different machines so I won't be able to easily dictate custom templates. :(
ernpchan
Posts: 56
Joined: February 8th, 2010, 11:27 pm

joddo wrote:This script will be run by others and on different machines so I won't be able to easily dictate custom templates. :(
Why not? Build your templates and then save them out for others to load up. That's what I do. This puts everyone on the same page for what they should be rendering out.
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

ernpchan wrote:Why not? Build your templates and then save them out for others to load up. That's what I do. This puts everyone on the same page for what they should be rendering out.
Because automation is king. Let's say you have 20, or 50, or 100 artists working on 10 different projects. A client calls and asks for a different output format. Getting the necessary artists to change to the proper template for a given project is problematic. Any time you can use automation to reduce potential inconsistencies is very desirable.
MYX_2000
Posts: 12
Joined: February 6th, 2012, 2:01 pm

I have been sitting with this and thinking about it. You are correct, automation is king. BUT comma

There comes a point where the folks have to do some of the work. What I have done and have seen others do, is either 1. like mentioned, describe the template and have the users make them to match. 2. better than #1, make screen shots of the said templates and have the users duplicate them, or 3. Provide drop down lists in a pannel or window and have the user select the output (which would still require the previous 2 steps anyhow). It goes deeper. If they can not follow directions to make the template to spec, they most likely they will not name it the way you like too which will kill the script just as fast. If they are incapable of any of this, then they should not be using AE in the first place.

Just sayin'

But... if you want to do a manual load you can try this... http://www.helloluxx.com/tag/output-module/ I have not had the chance to run through this so I can not speak to how well it works, but the ability has been there for a while. They present it for version hopping, but should work for bring everyone into alignment.
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

I have a work-around solution for the time being. Hopefully, Adobe will address this shortcoming in CS6.

My script reads an input file to determine how to lay out the comps, what footage to import, and where to save the render output. The line(s) that describe the render output contain a field for the output module name. The script looks through the available output modules and alerts the user if the module wasn't found and instructs them on where to find the .AOM file that contains the needed output modules. We keep the .AOM file on the network. If we ever need to create a new output module, we save it back to the .AOM on the network.

It's not great, but it will work for now.
Paul Tuersley
Posts: 704
Joined: June 5th, 2004, 7:59 am
Location: London, UK

You could always create some AE projects that just contain a comp and render queue item for each specific output module template and have those in a folder on your network accessible by the script.

If the script can't find the required output module it can look for a project with the same name in the network folder, import the project, save the template from the last (i.e. newly imported) RQ item and carry on as normal. I've done something like this before.
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

Paul Tuersley wrote:You could always create some AE projects that just contain a comp and render queue item for each specific output module template and have those in a folder on your network accessible by the script.

If the script can't find the required output module it can look for a project with the same name in the network folder, import the project, save the template from the last (i.e. newly imported) RQ item and carry on as normal. I've done something like this before.
Paul, this is a terrific idea! Thanks for sharing. And just to refine it a bit, because I know the name of the custom OM I want to use, I can stack all of them in one file, then just walk the output array searching for the needed OM, save it as a template, then continue.

Awesome idea. Again... thanks!
MYX_2000
Posts: 12
Joined: February 6th, 2012, 2:01 pm

Clever!
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

MYX_2000 wrote:Clever!
Clever, indeed. I just got it implemented and it works great.

The script looks for the OM. If it doesn't exist, it imports a project file with all the OMs defined, grabs the missing OM, saves it to the OM template list, removes the imported project, then saves the comp. And it happens so fast... under a second.
MYX_2000
Posts: 12
Joined: February 6th, 2012, 2:01 pm

If I am understanding you, you did this for a single flavor, yes?
To take it farther, do this all as a set up script for the machine. As you mentioned that many users will be hitting these scripts and exporting. I have my scripts in one spot which are aliased to everyones machines (for ease of bug fix/addon management). Do as you have already set up, but force it into all RS and OM templates you want to be there and knock it out in one script. Do it as a set up. Otherwise, are you going to include this bit of script in all future script ideas?

While attempting to eat some crow from the above rant (which had some infused frustration brewed up stemming from some apathetic folks in our office), I am outlining and playing with this right now. That is cool that you made it work.
Hopefully we will get more scripting ability for Premiere and AME with the CS6 so we could load up their render settings as well.
joddo
Posts: 8
Joined: April 25th, 2012, 4:47 pm

The script interfaces with a database. When the artist says (s)he wants to start a new shot, the database calls my script that builds the comp, imports the necessary footage, sets the output, and saves the project in the proper location. Within the script, I determine if the OM is missing. If it is, it imports a project with all the OM's defined, finds the missing OM, saves it as a template on the user's machine, then removes all traces of the imported project. It only imports the OM template project if the given OM is missing.
Post Reply