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
@Anup 주요 질문에 코드를 추가했습니다. 보시다시피, 나는 HTML과 상호 작용하지 않으며 비디오 플레이어가 필요하지 않습니다. Video.js에 링크 한 모든 문서를 읽었으며 필요한 작업을 수행하지 않을 것이라고 확신합니다.
—
adara