使用Premiere Pro的ExtendScript连接将导入的文件添加到序列中


177

我正在尝试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 + dataRuns[i].stopVideo + '.MPG') == -1) {
        vidFiles.push(myDir + dataRuns[i].stopVideo + '.MPG');
        }
    app.project.createNewSequence(dataRuns[i].runName,'');
    }
app.project.importFiles(vidFiles);
// at this point, for each run (called runName) I need to:
// - take a clip of the startVideo from the startTime to the end of the video
// - take a clip of the stopVideo from the start of the video to the stopTime
// - put clip 1 at the beginning of the associated sequence, & clip 2 right after
// - export the sequence as a new video file

2
请同时添加您的代码或jsfiddle示例。
Anup

6
@Anup我已将代码添加到主要问题中。如您所见,我没有与HTML进行交互,也不需要视频播放器。我已经通读了与Video.js链接的所有文档,几乎可以确定它不会满足我的需要。
adara 2013年

3
@adara,啊,你说的是“视频”!让我在这里粘贴这个显然不相关的 jQuery插件链接。那应该使用ExtendScript 修复ADOBE PREMIERE XML SCHEMA WRITER
Xeoncross 2014年

Answers:


2

与其在活动序列上设置入/出点,不如将原始视频加载到源窗口中,然后在该窗口中设置入/出点,然后在活动序列内建立最终版本。

将剪辑从Source复制到序列可以用多种方法完成,并且应该很容易。

是的,我的建议是尝试使用源而不是剪切序列。可能会有更好的运气。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.