Copy link to clipboard
Copied
Hi,
I was trying AME scripting in AME 2015, the script is creating BridgeTalk to AME for rendering AfterEffects project and it works perfectly. My script is below.
So I'd like to update AME version to 2017, I confirmed API changes and I noticed Encoder object lost encodeDL function in AME 2017.
When I checked forum here, I found this discussion https://forums.adobe.com/message/9433816#9433816 and understood I can use addCompToBatch function.
Okay, my question is:
- How can I pass frame rate and output frame size?
I want to pass a lot of combination of those, so it is not reasonable that I prepare a lot of presets for all combinations I want before scripting.
One option is, I will make epr file dynamically. Is that reasonable? or somebody has idea?
If I can pass AE composition id to AME for assigning rendering target as encodeDL function, it is good to me.
Thanks,
Hiro
function main(masterProjectPath, presetId, projectItemGuId, outputPath, priority,
preview_width, preview_height) {
var bt = new BridgeTalk;
bt.target = 'ame';
bt.body = function(masterProjectPath, presetId, projectItemGuId, outputPath, priority,
preview_width, preview_height) {
var eHost = app.getEncoderHost();
var enc = eHost.createEncoderForFormat("H.264");
enc.loadPreset(presetId);
if (priority) {
enc.setFrameRate("10");
enc.setOutputFrameSize(preview_width, preview_height);
}
enc.encodeDL(masterProjectPath, projectItemGuId, outputPath);
eHost.runBatch();
}.toSource() + "(\"" + masterProjectPath + "\", \"" + presetId + "\", \"" +
projectItemGuId + "\", \"" + outputPath + "\", " + priority + ", " +
preview_width + ", " + preview_height + ")";
bt.send(120);
}
Have something to add?