Estou tentando criar um script ExtendScript
para o Premiere Pro que carregue arquivos de vídeo especificados, recorte-os nos horários de início e de término especificados, coloque-os em uma sequência e exporte o filme resultante.
Entendo que a Adobe não possui uma documentação oficial sobre scripts para o Premiere Pro, por isso tenho trabalhado no navegador de dados (no ExtendScript Toolkit
, ou ESTK
) e em uma coleção de referências úteis de classe que encontrei aqui .
Carreguei com sucesso o arquivo CSV que especifica as informações necessárias e também sei como importar os arquivos de vídeo e criar uma nova sequência (conforme explicado aqui ). O problema que estou tendo agora é obter os arquivos importados cortados corretamente e colocados na sequência. Vejo que o activeSequence tem métodos como setInPoint e setOutPoint, mas isso não parece resultar no corte correto na exportação.
Aqui está o meu código com comentários para mostrar o fluxo do script geral:
#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