Dodaj zaimportowane pliki do sekwencji za pomocą połączenia ExtendScript programu Premiere Pro


177

Próbuję stworzyć skrypt w programie ExtendScriptPremiere Pro, który będzie ładował określone pliki wideo, przycinał je w określonych godzinach rozpoczęcia i zakończenia, umieszczał je w sekwencji, a następnie eksportował wynikowy film.

Rozumiem, że Adobe nie ma oficjalnej dokumentacji dotyczącej skryptów dla Premiere Pro, więc pracowałem z przeglądarki danych (w ExtendScript Toolkit, lub ESTK) i zbioru przydatnych odniesień do klas, które znalazłem tutaj .

Pomyślnie załadowałem plik CSV, który określa potrzebne informacje, a także wiem, jak zaimportować pliki wideo i utworzyć nową sekwencję (jak wyjaśniono tutaj ). Problem, który mam teraz, polega na tym, że zaimportowane pliki są prawidłowo przycinane i umieszczane w sekwencji. Widzę, że activeSequence ma metody takie jak setInPoint i setOutPoint, ale to nie wydaje się skutkować poprawnym przycinaniem podczas eksportu.

Oto mój kod z komentarzami pokazującymi przepływ całego skryptu:

#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
proszę również dodać swój kod lub przykład jsfiddle.
Anup

6
@Anup Dodałem swój kod do głównego pytania. Jak widać, nie korzystam z HTML i nie potrzebuję odtwarzacza wideo. Przeczytałem całą dokumentację dotyczącą Video.js, którą utworzyłeś, i jestem prawie pewien, że nie zrobi tego, czego potrzebuję.
adara

3
@adara, ach, powiedziałeś słowo „wideo” !!! Pozwólcie, że wkleię tutaj ten WYRAŹNIE NIEPOWIĄZANY link do wtyczki jQuery . To powinno naprawić program ADOBE PREMIERE XML SCHEMA WRITER przy użyciu ExtendScript !!!!
Xeoncross

Odpowiedzi:


2

Zamiast ustawiać punkty wejścia / wyjścia w aktywnej sekwencji, zamiast tego załaduj surowe wideo do okna źródłowego i ustaw tam punkty wejścia / wyjścia, a następnie zbuduj ostateczną wersję wewnątrz aktywnej sekwencji.

Kopiowanie klipu ze źródła do sekwencji można wykonać na wiele sposobów i powinno być całkiem łatwe.

Więc tak, moja rada byłaby taka, aby spróbować użyć źródła zamiast sekwencji do obcinania. Mógłbym mieć więcej szczęścia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.