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