Copy link to clipboard
Copied
Hi,
I would like to set the output module Format to OpenEXR Sequence with ExtendScript but I couldn't find how. With the OutputModule documentation I tried to do this:
const renderItem = app.project.renderQueue.items[1];
const outputModule = renderItem.outputModules[1];
outputModule.setSetting("Format", "OpenEXR Sequence");
// => After Effects error: Invalid Value for key: <Format>. Property is read-only
I also tried to apply the template but it doesn't seem to be registered as a proper output module template:
// Doesn't work
outputModule.applyTemplate("Custom: OpenEXR Sequence");
alert(outputModule.templates.join("\n"));
// AIFF 48kHz
// Alpha Only
// H.264 - Match Render Settings - 5 Mbps
// H.264 - Match Render Settings - 15 Mbps
// H.264 - Match Render Settings - 40 Mbps
// High Quality
// High Quality with Alpha
// Lossless
// Lossless with Alpha
// Multi-Machine Sequence
// Photoshop
// TIFF Sequence with Alpha
// _HIDDEN X-Factor 16
// _HIDDEN X-Factor 16 Premul
// _HIDDEN X-Factor 32
// _HIDDEN X-Factor 32 Premul
// _HIDDEN X-Factor 8
// _HIDDEN X-Factor 8 Premul
Moreover, is it possible to set the EXR compression options with code?
Thanks!
Copy link to clipboard
Copied
Query the properties with getSetting() first to check. That said I think that compression dialog is just not accessible as it doesn't respond to the standard CoDec hooks. Same quirk as with oder CoDecs' sub-settings that don't use the standard API interfaces.
Mylenium
Copy link to clipboard
Copied
Thanks @Mylenium for the answer!
Yes I did try getting the settings, this is what I have:
// const settings = module.getSettings(GetSettingsFormat.STRING);
{
"Audio Bit Depth": "32 Bit",
"Audio Channels": "Stereo",
"Audio Sample Rate": "",
"Channels": "RGB",
"Color": "Premultiplied (Matted)",
"Crop": "false",
"Crop Bottom": "0",
"Crop Left": "0",
"Crop Right": "0",
"Crop Top": "0",
"Depth": "Floating Point",
"Format": "OpenEXR Sequence",
"Include Project Link": "false",
"Include Source XMP Metadata": "false",
"Lock Aspect Ratio": "true",
"Output Audio": "Off",
"Output File Info": {
"Full Flat Path": "...",
"Base Path": "...",
"Subfolder Path": "",
"File Name": "AFTER_SH010_v001_[####].exr",
"File Template": "AFTER_SH010_v001_[####].[fileExtension]"
},
"Post-Render Action": "None",
"Resize": "false",
"Resize Quality": "High",
"Resize to": "HD • 1920x1080 • 24 fps",
"Starting #": "0",
"Use Comp Frame Number": "false",
"Use Region of Interest": "false",
"Video Output": "true"
}
// const settings = module.getSettings(GetSettingsFormat.SPEC);
{
"Audio Bit Depth": {
"type": "int",
"enums": {
"8 Bit": 1,
"16 Bit": 2,
"32 Bit": 4
},
"enums-reverse": {
"1": "8 Bit",
"2": "16 Bit",
"4": "32 Bit"
},
"range": [1, 4]
},
"Audio Channels": {
"type": "int",
"enums": {
"Mono": 1,
"Stereo": 2
},
"enums-reverse": {
"1": "Mono",
"2": "Stereo"
},
"range": [1, 2]
},
"Audio Sample Rate": {
"type": "int",
"enums": {
"8,000 kHz": 8000,
"11,025 kHz": 11025,
"22,050 kHz": 22050,
"32,000 kHz": 32000,
"44,100 kHz": 44100,
"48,000 kHz": 48000
},
"enums-reverse": {
"8000": "8,000 kHz",
"11025": "11,025 kHz",
"22050": "22,050 kHz",
"32000": "32,000 kHz",
"44100": "44,100 kHz",
"48000": "48,000 kHz"
},
"range": [8000, 48000]
},
"Channels": {
"type": "int",
"enums": {
"RGB": 0,
"RGB + Alpha": 1,
"Alpha": 2
},
"enums-reverse": {
"0": "RGB",
"1": "RGB + Alpha",
"2": "Alpha"
},
"range": [0, 2]
},
"Color": {
"type": "int",
"enums": {
"Straight (Unmatted)": 0,
"Premultiplied (Matted)": 1
},
"enums-reverse": {
"0": "Straight (Unmatted)",
"1": "Premultiplied (Matted)"
},
"range": [0, 1]
},
"Crop": {
"type": "bool"
},
"Crop Bottom": {
"type": "int"
},
"Crop Left": {
"type": "int"
},
"Crop Right": {
"type": "int"
},
"Crop Top": {
"type": "int"
},
"Depth": {
"type": "int",
"enums": {
"Floating Point Gray": -32,
"256 Colors": 8,
"Millions of Colors": 24,
"Millions of Colors+": 32,
"256 Grays": 40,
"Trillions of Colors": 48,
"Trillions of Colors+": 64,
"Floating Point": 96,
"Floating Point+": 128
},
"enums-reverse": {
"-32": "Floating Point Gray",
"8": "256 Colors",
"24": "Millions of Colors",
"32": "Millions of Colors+",
"40": "256 Grays",
"48": "Trillions of Colors",
"64": "Trillions of Colors+",
"96": "Floating Point",
"128": "Floating Point+"
},
"range": [-32, 128]
},
"Format": {
"type": "int",
"enums": {
"AIFF": 0,
"AVI": 1,
"DPX/Cineon Sequence": 2,
"H.264": 3,
"IFF Sequence": 4,
"JPEG Sequence": 5,
"MP3": 6,
"OpenEXR Sequence": 7,
"PNG Sequence": 8,
"Photoshop Sequence": 9,
"QuickTime": 10,
"Radiance Sequence": 11,
"SGI Sequence": 12,
"TIFF Sequence": 13,
"Targa Sequence": 14,
"WAV": 15
},
"enums-reverse": {
"0": "AIFF",
"1": "AVI",
"2": "DPX/Cineon Sequence",
"3": "H.264",
"4": "IFF Sequence",
"5": "JPEG Sequence",
"6": "MP3",
"7": "OpenEXR Sequence",
"8": "PNG Sequence",
"9": "Photoshop Sequence",
"10": "QuickTime",
"11": "Radiance Sequence",
"12": "SGI Sequence",
"13": "TIFF Sequence",
"14": "Targa Sequence",
"15": "WAV"
},
"range": [0, 15]
},
"Include Project Link": {
"type": "bool"
},
"Include Source XMP Metadata": {
"type": "bool"
},
"Lock Aspect Ratio": {
"type": "bool"
},
"Output Audio": {
"type": "int",
"enums": {
"Off": 1,
"On": 2,
"Auto": 3
},
"enums-reverse": {
"1": "Off",
"2": "On",
"3": "Auto"
},
"range": [1, 3]
},
"Output File Info": {
"type": {
"Full Flat Path": "string",
"Base Path": "string",
"Subfolder Path": "string",
"File Name": "string",
"File Template": "string"
}
},
"Post-Render Action": {
"type": "int",
"enums": {
"None": 0,
"Import": 1,
"Import & Replace Usage": 2,
"Set Proxy": 3
},
"enums-reverse": {
"0": "None",
"1": "Import",
"2": "Import & Replace Usage",
"3": "Set Proxy"
},
"range": [0, 3]
},
"Resize": {
"type": "bool"
},
"Resize Quality": {
"type": "int",
"enums": {
"Low": 0,
"High": 1
},
"enums-reverse": {
"0": "Low",
"1": "High"
},
"range": [0, 1]
},
"Resize to": {
"type": "{\"x\": <int>, \"y\": <int>}",
"enums": {
"Cineon Full • 3656x2664 • 24 fps": "3656,2664",
"Cineon Half • 1828x1332 • 24 fps": "1828,1332",
"Custom": "x,y",
"Custom2": "{\"x\": <x_val>, \"y\": <y_val>}",
"Custom3": "[<x_val>,<y_val>]",
"DVCPRO HD • 1280x1080 (1,5) • 29,97 fps": "1280,1080",
"DVCPRO HD • 1440x1080 (1,33) • 25 fps": "1440,1080",
"DVCPRO HD • 960x720 (1,33) • 23,976 fps": "960,720",
"DVCPRO HD • 960x720 (1,33) • 25 fps": "960,720",
"DVCPRO HD • 960x720 (1,33) • 29,97 fps": "960,720",
"Film (2K) • 2048x1556 • 24 fps": "2048,1556",
"Film (4K) • 4096x3112 • 24 fps": "4096,3112",
"HD • 1920x1080 • 24 fps": "1920,1080",
"HD • 1920x1080 • 25 fps": "1920,1080",
"HD • 1920x1080 • 29,97 fps": "1920,1080",
"HDV • 1440x1080 (1,33) • 25 fps": "1440,1080",
"HDV • 1440x1080 (1,33) • 29,97 fps": "1440,1080",
"HDV/HDTV • 1280x720 • 25 fps": "1280,720",
"HDV/HDTV • 1280x720 • 29,97 fps": "1280,720",
"Social Media Landscape • 1280x720 • 30 fps": "1280,720",
"Social Media Landscape HD • 1920x1080 • 30 fps": "1920,1080",
"Social Media Portrait • 720x1280 • 30 fps": "720,1280",
"Social Media Portrait HD • 1080x1920 • 30 fps": "1080,1920",
"Social Media Square • 1080x1080 • 30 fps": "1080,1080",
"UHD (4K) • 3840x2160 • 23,976 fps": "3840,2160",
"UHD (4K) • 3840x2160 • 25 fps": "3840,2160",
"UHD (4K) • 3840x2160 • 29,97 fps": "3840,2160",
"UHD (8K) • 7680x4320 • 23,976 fps": "7680,4320"
},
"enums-reverse": {
"3656,2664": "Cineon Full • 3656x2664 • 24 fps",
"1828,1332": "Cineon Half • 1828x1332 • 24 fps",
"x,y": "Custom",
"{\"x\": <x_val>, \"y\": <y_val>}": "Custom2",
"[<x_val>,<y_val>]": "Custom3",
"1280,1080": "DVCPRO HD • 1280x1080 (1,5) • 29,97 fps",
"1440,1080": "HDV • 1440x1080 (1,33) • 29,97 fps",
"960,720": "DVCPRO HD • 960x720 (1,33) • 29,97 fps",
"2048,1556": "Film (2K) • 2048x1556 • 24 fps",
"4096,3112": "Film (4K) • 4096x3112 • 24 fps",
"1920,1080": "Social Media Landscape HD • 1920x1080 • 30 fps",
"1280,720": "Social Media Landscape • 1280x720 • 30 fps",
"720,1280": "Social Media Portrait • 720x1280 • 30 fps",
"1080,1920": "Social Media Portrait HD • 1080x1920 • 30 fps",
"1080,1080": "Social Media Square • 1080x1080 • 30 fps",
"3840,2160": "UHD (4K) • 3840x2160 • 29,97 fps",
"7680,4320": "UHD (8K) • 7680x4320 • 23,976 fps"
}
},
"Starting #": {
"type": "int"
},
"Use Comp Frame Number": {
"type": "bool"
},
"Use Region of Interest": {
"type": "bool"
},
"Video Output": {
"type": "bool"
}
}
As you can see, the only parameter that is exposed is "Format" which is readonly...
The solution I found is to manually make an output module template with OpenEXR as the format, then saving this as an .aom file and loading that when creating a new file.
Thought it seems the output module settings are not tied to the After Effects file but rather the whole user preferences which is not really portable. And it seems I can't load it programatically...