Skip to main content
Participant
July 30, 2018
Answered

Can AE provide 'mass customization' at render time?

  • July 30, 2018
  • 2 replies
  • 604 views

My firm works in financial services and we have a Blender-based solution that creates highly dynamic videos based on constantly-changing data points. For a number of reasons we would like to figure out whether those videos could be built in AE and rendered across a large render farm on a continual basis. We seem to be running into technical limitations as we research and experiment, so I'm hoping that we can get some guidance here on alternative ways to approach the problem.

Imagine a simple example of a video containing an animated stock price chart. Our designers know that they want a price chart to animate and be present for a certain amount of time, but they don't know any of the data specifics at design time. They don't know how many X or Y axis labels will be present, how may data points will be present, perhaps whether or not the chart will have a comparison to a major stock index, etc. All of those attributes of the composition will change from minute to minute as the trading day unfolds, and we need to create videos for hundreds or thousands of symbols throughout the day.

We have demonstrated the ability to use ExtendScript to inject line segments and such into the composition, resulting in a dynamic chart animation. This would provide the ability to code chart creation logic once and share it across subsequent compositions, which would be a huge plus. The ExtendScript approach works well as a one-off demonstration on a workstation, but unfortunately it seems the only way to do this from the command line is to invoke "afterfx.exe" which is a not particularly suited to a headless render farm environment.

We have also demonstrated the ability to draw a fixed number of line segments and then set their positions at render time using Expressions. "aerender.exe" handles such projects nicely, but the approach lacks some of the attributes of the ExtendScript approach that make it appealing. Specifically, it's difficult to code a dynamic price chart this way even one time, and the code ends up bound to the project if the coding is done via the AE UI.

A hybrid solution might be to build a reusable charting "library" in ExtendScript, and then run the script against the project file once after design completes their work to inject new line segments and Expressions. The resulting project file would then be used for mass rendering. This approach would allow for reuse and be renderable with "aerender.exe", but complex ExtendScript that injects complex Expressions feels like a pretty roundabout and clunky solution to a fairly straightforward problem.

Are there other approaches we should be considering here? I would love to get some ideas from people who have successfully tackled similar problems.

Thanks.

    This topic has been closed for replies.
    Correct answer billh91742261

    After an offline exchange with DanE, I believe the approaches I outlined initially are the only ones that exist in the current version of AE. Either we can leverage the power of scripting and accept the limitations of rendering using a GUI application that's more oriented toward desktop use, or we can leverage the robustness of the aerender.exe application and accept the limitations of coding our interactions using expressions.

    I appreciate everyone's input.

    2 replies

    billh91742261AuthorCorrect answer
    Participant
    August 1, 2018

    After an offline exchange with DanE, I believe the approaches I outlined initially are the only ones that exist in the current version of AE. Either we can leverage the power of scripting and accept the limitations of rendering using a GUI application that's more oriented toward desktop use, or we can leverage the robustness of the aerender.exe application and accept the limitations of coding our interactions using expressions.

    I appreciate everyone's input.

    Community Expert
    July 30, 2018

    Have you explored the Search Help field in AE? This is the second link it brings up: Create animated charts and graphs | Adobe After Effects CC tutorials. It's pretty easy to learn how to create and use JSON files for data-driven animations.

    The other option is to purchase one of the existing scripts for charting from AEScripts.com. There are lots of options.

    Participant
    July 31, 2018

    Thank you for responding. I have seen those tutorials and scripts for purchase, but I can't see how to efficiently extend those approaches to large universes. Building on the map example, our use case would be like generating a movie for every country in the world, each containing an animated map broken down by the appropriates states, counties, or whatever. And not just one movie, but a dozen different movies containing a different flavor (color, size, etc.) of the maps. All of the solutions I've seen assume that you are doing a lot of layout work in the UI; we need to drive the layout from code at render time in order to make it practical. Am I just not seeing how we'd extend the one-off examples above to our use case?

    Community Expert
    July 31, 2018

    The JSON scripting is incredibly powerful. If you properly prepare the data you can just load in the script and thousands of points, arcs, curves, colors could be generated. Point the comp to a new JSON file or replace one in a folder and you have a completely new movie ready to render. I know lots of folks that are doing hourly projects for broadcast involving things like weather, stocks, and a bunch of other stuff using these tools. Don't dismiss them out of hand. If your projects are that large you should have the budget to hire someone like Dan Ebberts to write some code for you and design a data entry/retrieval system that would cut comp creation time down to a few minutes.