首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adobe Media Encoder可以用ExtendScript编写脚本吗?

Adobe Media Encoder可以用ExtendScript编写脚本吗?
EN

Stack Overflow用户
提问于 2010-01-31 09:12:56
回答 6查看 6.1K关注 0票数 11

Adobe Media Encoder (AME)是否可编写脚本?我听到人们提到它是“官方可脚本化的”,但我找不到任何对它的脚本化对象集的引用。

有没有人有编写AME脚本的经验?

EN

回答 6

Stack Overflow用户

发布于 2018-02-21 21:38:54

Adobe媒体编码器是‘官方’不可脚本化的,但我们可以使用扩展脚本API来编写AME脚本。以下功能可通过扩展脚本使用

1.将文件添加到批处理

编码进度

代码语言:javascript
复制
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 "); 
} 

编码结束

代码语言:javascript
复制
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

代码语言:javascript
复制
eHost = app.getEncoderHost (); 

eHost.runBatch (); 

3.停止批处理

代码语言:javascript
复制
eHost = app.getEncoderHost ();

eHost.stopBatch (); 

4.暂停batch

代码语言:javascript
复制
eHost = app.getEncoderHost (); 

eHost.pauseBatch ();

5.获取预设格式

代码语言:javascript
复制
EHost = App.GetEncoderHost (); 

List = EHost.GetFormatList (); 

6.获取预设

代码语言:javascript
复制
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

我们可以通过脚本执行几乎所有的基本功能。

票数 3
EN

Stack Overflow用户

发布于 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

啊哈,乔治

票数 2
EN

Stack Overflow用户

发布于 2015-01-15 23:45:30

官方目前的立场是“否”,但如果你打开Adobe扩展脚本工具包,并将目标应用程序设置为媒体编码器,你将在数据浏览器中看到一些对象和方法已经在应用程序对象中公开,如app.getFrontend(),app.getEncoderHost()等。虽然没有官方文档,也没有支持,所以你可以自由地尝试它们,风险自负。

您可以像这样使用ExtendScript反射接口:

代码语言:javascript
复制
a = app.getFrontend()
a.reflect.properties
a.reflect.methods
a.reflect.find("addItemToBatch").description

但据我所知,除了方法和属性列表之外,无法找到任何有意义的信息。

JavaScript Tools Guide CC文档中可以找到有关ExtendScript reflect接口的更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2170163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档