Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Adobe Media Encoder是否可以使用ExtendScript编写脚本?_Extendscript - Fatal编程技术网

Adobe Media Encoder是否可以使用ExtendScript编写脚本?

Adobe Media Encoder是否可以使用ExtendScript编写脚本?,extendscript,Extendscript,Adobe Media Encoder(AME)是否可编写脚本?我听说有人提到它是“官方可编写脚本的”,但我找不到它的可编写脚本的对象集的任何引用 有人有过编写AME脚本的经验吗?我也有过类似的问题。不过,我还没有尝试编写Adobe Media Encoder脚本,它没有出现在我可能连接到的应用程序列表中,也没有使用ExtendScript工具包编写脚本 我确实发现,如果你坐在窗户上,这可能会派上用场。我想在OSX上使用类似的AppleScript可以完成这项工作。我还没试过,但这东西看起来不错

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


有人有过编写AME脚本的经验吗?

我也有过类似的问题。不过,我还没有尝试编写Adobe Media Encoder脚本,它没有出现在我可能连接到的应用程序列表中,也没有使用ExtendScript工具包编写脚本

我确实发现,如果你坐在窗户上,这可能会派上用场。我想在OSX上使用类似的AppleScript可以完成这项工作。我还没试过,但这东西看起来不错,也许能帮上忙

Adobe Media Encoder似乎无法编写脚本。我想知道,对于批量转换,您可以使用吗?如果你在谷歌上搜索ffmpeg批处理flv,似乎有一个问题

嗯,,
乔治似乎不是。有人提到它还不能以其公认的形式“编写脚本”。

目前的官方立场是“不”,但如果打开Adobe Extend Script Toolkit,并将目标应用程序设置为Media Encoder,您将在数据浏览器中看到一些对象和方法已经在应用程序对象中公开,如app.getFrontend(),getEncoderHost()等。虽然没有官方文档,也没有支持,所以您可以自由地使用它们,风险自负

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

a = app.getFrontend()
a.reflect.properties
a.reflect.methods
a.reflect.find("addItemToBatch").description
但就我所见,除了方法和属性列表之外,通过这种方式找不到任何有意义的信息


有关ExtendScript reflect接口的更多信息可以在文档中找到。

我是在它在“”的duckduckgo结果中排名第二后来到这里的。首先是Adobe论坛上的一篇帖子,一位Adobe员工写道:

Adobe Media Encoder中的脚本功能不受支持

而且,对于任何试图使用adobe平台为adobe用户开发解决方案的人来说,我只想指出一点:

此外,这是一个用户对用户的论坛,不是Adobe人员提供支持的官方渠道


我认为答案是“Adobe说不”

Adobe media encoder“正式”不可编写脚本,但我们可以使用扩展脚本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.开始批量

eHost = app.getEncoderHost (); 

eHost.runBatch (); 
eHost = app.getEncoderHost ();

eHost.stopBatch (); 
eHost = app.getEncoderHost (); 

eHost.pauseBatch ();
3.停止批处理

eHost = app.getEncoderHost (); 

eHost.runBatch (); 
eHost = app.getEncoderHost ();

eHost.stopBatch (); 
eHost = app.getEncoderHost (); 

eHost.pauseBatch ();
4.暂停批处理

eHost = app.getEncoderHost (); 

eHost.runBatch (); 
eHost = app.getEncoderHost ();

eHost.stopBatch (); 
eHost = app.getEncoderHost (); 

eHost.pauseBatch ();
5.获取预设格式

EHost = App.GetEncoderHost (); 

List = EHost.GetFormatList (); 
eHost = app.getEncoderHost (); 

enc = eHost.createEncoderForFormat ("QuickTime"); 

list = enc.getPresetList (); 
6.获取预设值

EHost = App.GetEncoderHost (); 

List = EHost.GetFormatList (); 
eHost = app.getEncoderHost (); 

enc = eHost.createEncoderForFormat ("QuickTime"); 

list = enc.getPresetList (); 
还有更多

我找到的最接近的信息是:

后一种资源实际上很好,如果你能读日语,或者至少使用Chrome内置的翻译功能,那么你可以看到它有这样的资源:


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

谢谢!这个artcile是为Flash媒体编码器设计的,其技术基本上是将击键事件推到它上面。我希望能有更强壮的东西!:-)我试图从终端打开应用程序,没有太多帮助,只是阅读了一些关于内存泄漏的信息:)试图启动processcoordinationserver/Applications/Adobe Media Encoder CS4/processcoordinationserver.app 2010-01-31 02:24:40.474 Adobe Media Encoder CS4[3543:9607]***\n自动发布工具():NSThread类的对象0x2f3cd5e0在没有池的情况下自动释放-只是泄漏堆栈:(0x93aaa73f 0x939b6e32 0x939bcb94 0x64e928b 0x651f2e6 0x3ac670 0x443d4a 0x42ff7e 0x3a9fb9 0x90a09095 0x90a08f52)刚刚在adobe网站上快速查看。没有用于AME的论坛,[devnet scripting][1]页面也缺少该论坛。我已经下载并简要扫描了After Effects脚本手册,但还没有找到任何关于将文件发送到AME的信息。[1] 当前位置非常感谢您的支持。我发现,如果要使用自定义预设,必须打开预设的.epr文件,查找“presetid”标记,然后将该值放入enc.loadPreset()函数中。例如,在我的一个自定义h.264预设中(位于“%UserProfile%\Documents\Adobe\Adobe Media Encoder\11.0\presets”的.epr文件),我需要使用这个值:顺便说一句,这些函数只有在camelcase中编写时才能工作,在正确的情况下不能工作。您提供的资源非常好。但是,Adobe不再支持ESTK,而是指示开发人员使用Microsoft Visual Studio Code ExtendScript调试器。您知道在MS Visual Studio代码中是否可以从该调试器以AME为目标吗?对不起,我正在使用Adobe Extend脚本工具kt进行调试,我们有一个选择目标的选项。@ariestav是的,请选择can@ariestav我使用的是VSCODE扩展,所以它只是屏幕底部的一个大的黄色文本按钮,上面写着“选择目标应用程序”。当我点击它,我得到了一个弹出列表,其中包括媒体编码器。我可以添加批处理项目,但我所做的全部工作都是想自动化不同的大小,当我“设置大小”时,它会重置所有批处理项目。在经历了非常令人沮丧的一天之后,我放弃了。我确实看到了某个地方(抱歉,不确定在哪里)有一个命令行,您可以通过运行媒体编码器本身的.exe来运行脚本。