我正在尝试ExtendScript
为Premiere Pro 创建一个脚本,它将加载指定的视频文件,在指定的开始和停止时间剪辑它们,将它们放入序列中,然后导出生成的电影.
我知道Adobe没有关于Premiere Pro脚本的官方文档,所以我一直在使用数据浏览器(在ExtendScript Toolkit
,或ESTK
)以及我在这里找到的一些方便的类引用.
我已经成功加载指定所需的信息,也知道如何导入视频文件,并创建一个新的序列(如解释的CSV文件在这里).我现在遇到的麻烦是将导入的文件正确剪切并放入序列中.我看到activeSequence有像setInPoint和setOutPoint这样的方法,但这似乎不会导致导出时正确的修剪.
这是我的代码,其中包含显示整个脚本流程的注释:
#target premierepro
var myDir = "G:\\directoryWithVideoFiles\\";
// defined "indexOf" subfunction here
// ***** begin main body of script *****
// (dataRuns has fields runName, startVideo, startTime, stopVideo, stopTime)
// Import video files listed in dataRuns
var vidFiles = new Array;
for (i=0; i<dataRuns.length; i++) {
if (indexOf.call(vidFiles,myDir + dataRuns[i].startVideo + '.MPG') == -1) {
vidFiles.push(myDir + dataRuns[i].startVideo + '.MPG');
}
if (indexOf.call(vidFiles,myDir …
Run Code Online (Sandbox Code Playgroud) 我第一次做了一些Photoshop脚本,确实有一个类似console.log的函数可以在ExtendScript Toolkit App的Javascript控制台中输出数组和对象值.
有同等的功能吗?
通常,当您编写.jsx脚本以自动化Adobe产品(如InDesign,Illustrator或Photoshop)时,您可以从ExtendScript IDE编写,调试和执行脚本.是否可以绕过ExtendScript并从第三个程序运行脚本?
我认为Adobe产品有一个内置的JavaScript解释器,ExtendScript可以连接到它来访问Adobe对象模型并自动化他们的软件.我希望能够像在ExtendScript中一样直接连接到该解释器并运行jsx文件.
我有一组由耦合扫描电子显微镜和能量色散光谱生成的图像和 X 射线数据。这是我的问题:
我像这样对岩石表面的横断面进行了成像(紫色框勾勒出横断面区域):
我想要真正的高分辨率,所以我使用 7 张放大 3000 倍的图像并将它们与 Photoshop 中的 photomerge 脚本拼接在一起。这是单个图像的示例:
以及它在光合图像横断面上的位置:
在这 7 个位置中的每一个,我还收集了 X 射线数据,为检测到的每个元素生成元素图,并将其写入 TIFF。我还想将每个元素图 TIFF 拼接在一起,以便我可以将其叠加在岩石的合并横断面图像上。这是我想要的结果:
问题是元素贴图没有足够的功能,无法使用 photomerge 将它们拼接在一起。它基本上是二进制的 - 如果检测到元素,则像素是某种颜色(例如,在我的示例图像中,红色代表铁,黄色代表硫),如果未检测到元素,则像素为黑色。您可以看到大部分元素地图大部分是黑色的。
我现在有 ~20 个横断面 x 7 个图像,每个 x ~10 个元素,这导致需要将 ~1400 个图像放在一起,因此需要自动化。
我的想法是用 photomerge 将岩石图像拼接在一起。photomerge 的输出是一个智能对象,其中每个图像都是一个图层。然后,我将使用一个脚本来获取 photomerged 图像对象中 7 个图像中每一个的左上角坐标、宽度和高度。然后,我会将这些属性放置并分配给 7 个图像的每个相应元素映射,以生成“合并”元素映射以覆盖在图像上。我试图自己解决这个问题,但我不精通 javascript 并且无法围绕 Photoshop API。
我在这里在 Github 上上传了一个示例数据集。7 个横断面位置从左到右:-2、-1、0、1、2、3、4。每个位置都有岩石和子目录的图像以及元素数据。
我想获取当前运行Extendscript的绝对文件夹路径.
即在nodejs __DIR__
中的php(或)__dirname
中.相当于Extendscript.
我想知道不同的ExtendScript是如何来自JavaScript的?理论上我是否可以聘请一位精通JavaScript的网站开发人员来开发它而不需要他们过多的学习?
我正在研究媒体数据库(或所谓的"多媒体库")项目,它基于XMP(可扩展元数据平台).用于管理元数据和关键字的逻辑工具似乎是Adobe Bridge,但是我需要缩小开发几个脚本以向Bridge添加一些关键功能,主要用于连接服务器存储的受控关键字词汇表.
上层管理人员凭借其无限的智慧,决定将软件alpha/beta测试人员和Adobe负责开发项目发现的重型人员放在最佳方式.虽然我知道我需要做什么,但我不确定谁能真正做到.
遗憾的是,我的编程知识仅限于C++,XML,Apple Script和Web语言(遗憾的是不包括JavaScript),所以当谈到JavaScript的问题时,我就会走出杂草.
Adobe在这个主题上有一个方便的SDK,但我无法真正理解整体情况.大多数Adobe用户对用户论坛内容都是旧的或不相关的.
我需要在菜单栏中添加一个菜单,其中包含三个选项.这三个选项都将在Bridge的"关键字"面板中使用"清除和导入"功能,以使用FTP或HTTP对象从数据库服务器导入3个不同的制表符分隔文本文件中的1个.
我在Bridge SDK和JavaScript指南中所做的阅读表明,为了清晰起见,我可以添加菜单项,如下图所示.另外,我已经设法得到一个非常粗略的"清除和导入"方法作为启动脚本,但是我希望能够通过单击相应的菜单条目来动态调用它们.
要获得更大的图像视图,请单击此处
Javascript的setTimeout
功能是window
对象的一种方法.此对象在ExtendScript中不存在,因此不适用于为Adobe InDesign或Illustrator制作的脚本.我可以使用什么来取得相同的结果呢?
这不是一个编程问题,而是一个我无法找到解决方案的编程环境问题.
问题与Adobe的Extendscript Toolkit(3.5和4)有关,但到目前为止我还没能解决问题,所以我在这里......
我得到的错误或多或少地出现了一夜.昨天我没有遇到这个问题,今天早上也没有.但究竟发生了什么事情超出了我的范围.我已经删除了首选项,我已经卸载,重新安装,创建了一个新用户,从Time Machine中恢复了旧的首选项,而我现在几乎已经失去了选项.
基本上,ESTK中的任何东西都不起作用了.只是打开ESTK并输入警报('Hello')将无效.$ .writeln()也不会.从ESTK内部运行的所有东西似乎都会出现同样的错误;
无法在目标引擎'main'中执行脚本
有详细信息:
无法在目标引擎'main'中执行脚本!
(#1116)无法启动调试会话.
下面是我为测试创建的新用户拍摄的截图,同样的问题.
"有趣"的是,所有脚本(InDesign CS5,仍然挂在原因上)仍然可以在应用程序的脚本面板中完美运行.因此脚本没有任何问题(哎呀,他们没有改变一点,仍然拒绝在ESTK中运行).
如上所述,我也尝试过安装ESTK CC(版本4),但同样的问题就出现了.这让我觉得问题出在其他地方,但我不知道在哪里,为什么.
所以,如果有人能够对这个问题有所了解,那么我会非常高兴.在我的书中,调试基本上是ESTK唯一有用的东西,但现在即使该功能消失了,我也不知道如何有效地调试脚本,这会妨碍工作流程.
作为参考,我在安装了10.11.6(El Capitan)的2008 Mac Pro上运行InDesign CS5(来自旧的Creative Suite).知道它已经过时了,但这不是重点.
Adobe Media Encoder(AME)是否可编写脚本?我听说人们提到它是"官方可编写脚本"但我找不到任何对其可编写脚本的对象集的引用.
有没有人有任何编写AME脚本的经验?
我是After Effects脚本的新手,但在浏览器中有很多JavaScript经验.
extendscript ×10
adobe ×4
javascript ×3
jsx ×2
photoshop ×2
debugging ×1
r ×1
raster ×1
settimeout ×1
toolkit ×1