• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How to set render queue item outputModule Format to OpenEXR

Community Beginner ,
Jul 19, 2023 Jul 19, 2023

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

 

Joseph31150552t6xg_0-1689761724276.png

Moreover, is it possible to set the EXR compression options with code?

 

Joseph31150552t6xg_1-1689761806024.png

 

Thanks!

TOPICS
How to , Scripting

Views

440

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jul 19, 2023 Jul 19, 2023

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

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 19, 2023 Jul 19, 2023

Copy link to clipboard

Copied

LATEST

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...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines