Adobe Media Encoder (AME)是否可编写脚本?我听到人们提到它是“官方可脚本化的”,但我找不到任何对它的脚本化对象集的引用。
有没有人有编写AME脚本的经验?
发布于 2018-02-21 21:38:54
Adobe媒体编码器是‘官方’不可脚本化的,但我们可以使用扩展脚本API来编写AME脚本。以下功能可通过扩展脚本使用
1.将文件添加到批处理
编码进度
host = App.GetEncoderHost ();
enc = EHost.CreateEncoderForFormat ( "QuickTime");
flag = Enc.LoadPreset ( "HD 1080i 29.97, H.264, AAC 48 kHz");
an if (flag) {
f = enc.encodeEncodeProgress
= function (progress) {
$ .writeln (progress);
}
eHost. enc.encode ("/ Users / test / Desktop / 00000.MTS", "/Users/test/Desktop/0.mov");
} else {
alert ("The preset could not be loaded ");
} 编码结束
ehost = App.GetEncoderHost ();
enc = EHost.CreateEncoderForFormat ( "QuickTime");
flag = Enc.LoadPreset ( "HD 1080i 29.97, H.264, AAC 48 kHz");
an if (flag) {
f = enc.onEncodeFinished
= function (success) {
if (success) {
alert ("Successfully encoding has ended ");
} Else {
Alert (" failed to encode ");
}
}
EHost.RunBatch ();
} Else {
Alert (" preset could not be read ");
} 2.启动batch
eHost = app.getEncoderHost ();
eHost.runBatch (); 3.停止批处理
eHost = app.getEncoderHost ();
eHost.stopBatch (); 4.暂停batch
eHost = app.getEncoderHost ();
eHost.pauseBatch ();5.获取预设格式
EHost = App.GetEncoderHost ();
List = EHost.GetFormatList (); 6.获取预设
eHost = app.getEncoderHost ();
enc = eHost.createEncoderForFormat ("QuickTime");
list = enc.getPresetList (); 还有更多..。
我找到的最接近的信息是:http://www.openspc2.org/book/MediaEncoderCC/
后一种资源实际上很好,如果你能读懂日语,或者至少使用Chrome内置的翻译功能,那么你可以看到它有这样的资源:
http://www.openspc2.org/book/MediaEncoderCC/easy/encodeHost/009/index.html
我们可以通过脚本执行几乎所有的基本功能。
发布于 2010-01-31 09:47:30
关于Soundbooth.,我也有类似的问题。我还没有尝试过编写Adobe Media Encoder脚本,但它没有出现在我可能连接到的应用程序列表中,并使用ExtendScript工具包编写脚本。
我确实找到了this article,如果你用的是Windows,它可能会派上用场。我猜使用类似的用AppleScript编写的东西就可以在OSX上完成这项工作。我还没有试过,但是这个Sikuli的东西看起来不错,也许它可以帮助我完成这项工作。
Adobe Media Encoder似乎不是可脚本化的。我想知道,对于批量转换,你能使用ffmpeg吗?如果你在谷歌上搜索ffmpeg few scripts flv,似乎有一个批处理for that。
啊哈,乔治
发布于 2015-01-15 23:45:30
官方目前的立场是“否”,但如果你打开Adobe扩展脚本工具包,并将目标应用程序设置为媒体编码器,你将在数据浏览器中看到一些对象和方法已经在应用程序对象中公开,如app.getFrontend(),app.getEncoderHost()等。虽然没有官方文档,也没有支持,所以你可以自由地尝试它们,风险自负。
您可以像这样使用ExtendScript反射接口:
a = app.getFrontend()
a.reflect.properties
a.reflect.methods
a.reflect.find("addItemToBatch").description但据我所知,除了方法和属性列表之外,无法找到任何有意义的信息。
在JavaScript Tools Guide CC文档中可以找到有关ExtendScript reflect接口的更多信息。
https://stackoverflow.com/questions/2170163
复制相似问题