Adobe After Effects的C#互操作性

时间:2014-11-17 05:47:05

标签: c# c++ interop after-effects

我正在开发一个项目,我们已经创建了一个After Effects项目,但希望根据数据库字段动态更改其中一个场景中的一个标签。在这种情况下,我们谈论的是客户的名字。

我可以通过命令行渲染After Effects项目,我需要做的是数据库中每个客户的名称,我想替换我创建的标签占位符在After Effects中。因此,如果我在数据库中有5个客户,我最终会得到5个After Effects项目文件,每个文件都有不同的名称。一旦我有5个After Effects文件,我就可以发送到网络渲染以完成视频渲染。

任何人都知道如何实现这一目标?我更喜欢在C#中这样做,但如果只能用C ++或其他编程语言来完成,我也可以这样做。

先谢谢大家

2 个答案:

答案 0 :(得分:3)

您可以使用Extendscript(Javascript)访问sourceText属性 如果你有一个名为“mytextlayer”的comp中有一个comp和一个文本层的项目,那么将文本设置为该层:

app.project.item(1).layer("mytextlayer").property("Text").property("Source Text").setValue("Hello World")  

查看After Effects Scripting Guide

已经有更好的解决方案,例如:

答案 1 :(得分:1)

只想添加Templater for After Effects也可以。看看Templater Bot edition。来自Dataclay's website

Templater Bot是一个按需定制视频的企业解决方案。它作为一个自动化系统。使用它定期检查传入的数据,提取新数据,并将视频渲染为后台进程。或者使用命令行界面将数据推入以创建新的渲染。准备好AE项目后,使用Bot自定义和渲染它,而无需操作After Effects用户界面。开发人员可以创建前端应用程序,例如Web或移动应用程序,将数据提供给Templater的数据源,提供协作的自定义视频内容创建解决方案。