[英]How to execute `aerender` command line tool via NSTask/Process?
我正在尝试通过 NSTask/Process 执行aerender
命令行工具来构建概念验证 macOS 应用程序来渲染 Adobe After Effects 项目文件,但没有取得太大成功。
var task: Process = Process()
func render()
let compPath = "/Users/Admin/Documents/test-proj.aep"
task.launchPath = "/Applications/Adobe After Effects CC 2019/aerender"
task.arguments = ["-project", compPath,
"-comp", "output"]
do {
try task.run()
} catch let error {
print(error)
}
}
上面的代码在后台成功启动了 After Effects,但日志会产生以下输出:
aerender version 16.1.1x4
PROGRESS: Launching After Effects...
aerender ERROR -1701: AEGetParamPt failed at line 780
我还尝试将命令放入单独的 Shell 脚本中,然后从应用程序中执行该脚本,但这也会产生相同的结果。
我可以使用bash
和zsh
直接在终端中成功运行相同的命令,并完美呈现视频。 所以我认为这是 NSTask/Process 而不是aerender
的错误。
该应用程序具有:
在这一点上,我对 Obj-C 或 Swift 中的所有想法和答案持开放态度!
您需要在 Mac 中安装 ESTK(ExtendScript Tool Kit)。 就我而言,我在安装时修复了它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.