Tôi đang cố gắng tạo tập lệnh trong ExtendScript
Premiere Pro sẽ tải các tệp video được chỉ định, cắt chúng vào thời gian bắt đầu và dừng được chỉ định, đặt chúng thành một chuỗi và sau đó xuất phim kết quả.
Tôi hiểu rằng Adobe không có tài liệu chính thức về kịch bản cho Premiere Pro, vì vậy tôi đã làm việc từ trình duyệt dữ liệu (trong ExtendScript Toolkit
, hoặc ESTK
) và một bộ sưu tập các tài liệu tham khảo lớp tiện dụng mà tôi đã tìm thấy ở đây .
Tôi đã tải thành công vào tệp CSV chỉ định thông tin cần thiết và cũng biết cách nhập tệp video và tạo một chuỗi mới (như được giải thích ở đây ). Rắc rối mà tôi gặp phải bây giờ là khiến các tệp đã nhập được cắt chính xác và được đặt vào chuỗi. Tôi thấy rằng activeSequence có các phương thức như setInPoint và setOutPoint, nhưng điều đó dường như không dẫn đến việc cắt tỉa chính xác khi xuất.
Đây là mã của tôi với các bình luận để hiển thị dòng kịch bản tổng thể:
#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