Output Module Constraints in After Effects CS5
[Thanks for today’s post go to Tim Kurkoski, who did a lot of the hard parts.]
This post is about a big under-the-hood improvement in After Effects CS5. (All of the new and changed features are here.)
In After Effects CS4, you may have seen errors like this when rendering and exporting:
After Effects AEGP Plugin Media IO Plugin
There is a mismatch between Output Module settings. Please verify your settings and try again. Property Data Invalid!
Medial02 error: 0x400e0004
Frame dimensions out of bounds.
This type of “mismatch” error message indicates that you have a setting in the format-specific settings that is incompatible with the settings chosen in the Output Module Settings or Render Settings dialog box.
You see, some output types are constrained—some very strictly so. For example, the MPEG-2 DVD format output only allows parameters that fit the DVD specification; movies created outside of these constraints may not play in a DVD player that conforms to the DVD specification. In CS4, the encoder knew about these constraints, but After Effects didn’t, so After Effects would blithely feed the encoder things that didn’t make sense for a specific output type. The encoder would see these non-compliant frames and just throw up an error and refuse to continue. Your only hint was in a difficult-to-find Comment field in the format-specific export settings dialog box that the encoder created; these comment fields sometimes (but not always) told what the constraints were.
In After Effects CS5, things work much better. Now After Effects knows the details of the constraints. When you choose an output module and change settings in the Output Module Settings dialog box, the settings are checked against this set of constraints. If there’s a mismatch, a “Settings mismatch” alert and a yellow triangle icon appear at the bottom of the Output Module Settings dialog box. If you click the yellow triangle icon, a message explains what’s going on, like so:
"Warning: Frame rate of output file will be adjusted from 17 to 15 fps to meet format constraints. Audio may not synchronize."
In such a case, you have a choice: Either accept what After Effects is going to do automatically to try to fix the mismatch, or fix it yourself in the render settings, composition settings, or output module settings.
Many formats are unconstrained. Many codecs used inside QuickTime and AVI containers are unconstrained, as are all of the image-sequence formats.
In After Effects CS5, there is a known issue that causes WMV and FLV output frame rates to be constrained unnecessarily. For information on working around this issue, see “Can’t set frame rate for WMV or FLV output from After Effects CS5 to custom value”.
There didn’t seem to be a lot of value in publishing the huge comprehensive matrix of constraints for every format, since now After Effects CS5 tells you in the Output Module Settings dialog box if you’re violating them and what the relevant values are for what you’re trying to do. But, if you do have a question about constraints for a specific format, let me know.
UPDATE: Patricia Clausnitzer just translated this post in Byelorussian.