Saya mencoba membuat skrip ExtendScript
untuk Premiere Pro yang akan memuat file video yang ditentukan, klipnya pada waktu mulai dan berhenti yang ditentukan, letakkan dalam urutan dan kemudian ekspor film yang dihasilkan.
Saya mengerti bahwa Adobe tidak memiliki dokumentasi resmi tentang scripting untuk Premiere Pro, jadi saya telah bekerja dari browser data (di ExtendScript Toolkit
, atau ESTK
) dan koleksi referensi kelas praktis yang saya temukan di sini .
Saya telah berhasil memuat dalam file CSV yang menentukan info yang diperlukan dan juga tahu cara mengimpor file video dan membuat urutan baru (seperti yang dijelaskan di sini ). Masalah saya sekarang adalah mendapatkan file yang diimpor terpotong dengan benar dan ditempatkan ke dalam urutan. Saya melihat bahwa activeSequence memiliki metode seperti setInPoint dan setOutPoint, tetapi itu tampaknya tidak menghasilkan pemangkasan yang benar pada ekspor.
Ini kode saya dengan komentar untuk menunjukkan alur keseluruhan skrip:
#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