Fügen Sie importierte Dateien mithilfe der ExtendScript-Verbindung von Premiere Pro zu Sequenzen hinzu


177

Ich versuche, ein Skript ExtendScriptfür Premiere Pro zu erstellen , das bestimmte Videodateien einlädt, sie zu festgelegten Start- und Stoppzeiten ausschneidet, sie in eine Sequenz einfügt und dann den resultierenden Film exportiert.

Ich verstehe, dass Adobe keine offizielle Dokumentation zu Skripten für Premiere Pro hat. Daher habe ich über den Datenbrowser (im ExtendScript Toolkit, oder ESTK) und eine Sammlung praktischer Klassenreferenzen gearbeitet, die ich hier gefunden habe .

Ich habe erfolgreich die CSV-Datei geladen, die die erforderlichen Informationen angibt, und weiß auch, wie die Videodateien importiert und eine neue Sequenz erstellt werden (wie erläutert) hier). Das Problem, das ich jetzt habe, ist, dass die importierten Dateien korrekt abgeschnitten und in die Sequenz eingefügt werden. Ich sehe, dass die activeSequence Methoden wie setInPoint und setOutPoint hat, aber das scheint beim Export nicht zu einem korrekten Zuschneiden zu führen.

Hier ist mein Code mit Kommentaren, um den Ablauf des gesamten Skripts anzuzeigen:

#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
Bitte fügen Sie auch Ihren Code oder Ihr jsfiddle-Beispiel hinzu.
Anup

6
@Anup Ich habe meinen Code zur Hauptfrage hinzugefügt. Wie Sie sehen können, interagiere ich nicht mit HTML und benötige keinen Videoplayer. Ich habe die gesamte Dokumentation gelesen, die Sie für Video.js verlinkt haben, und ich bin fast sicher, dass sie nicht das tut, was ich brauche.
Adara

3
@adara, ah du hast das Wort "Video" gesagt !!! Lassen Sie mich diesen CLEARLY UNRELATED jQuery-Plugin-Link hier einfügen . Das sollte den ADOBE PREMIERE XML SCHEMA WRITER mit ExtendScript reparieren !!!!
Xeoncross

Antworten:


2

Anstatt In / Out-Punkte für die aktive Sequenz festzulegen, laden Sie stattdessen Ihr Rohvideo in das Quellfenster und legen Sie dort die In / Out-Punkte fest. Erstellen Sie dann die endgültige Version innerhalb der aktiven Sequenz.

Das Kopieren des Clips von der Quelle in die Sequenz kann auf viele Arten erfolgen und sollte ziemlich einfach sein.

Also ja, mein Rat wäre, eher die Quelle als die Sequenz zum Abschneiden zu verwenden. Könnte besseres Glück haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.