177 votes

Ajouter des fichiers importés dans des séquences à l'aide de la connexion ExtendScript de Premiere Pro

J'essaie de créer un script en ExtendScript pour Premiere Pro qui permet de charger des fichiers vidéo spécifiques, de les découper à des moments de début et de fin spécifiés, de les placer dans une séquence et d'exporter le film résultant.

Je sais qu'Adobe n'a pas de documentation officielle sur les scripts pour Premiere Pro, j'ai donc travaillé à partir du navigateur de données (dans l'application ExtendScript Toolkit ou ESTK ) et une collection de références de classe pratiques que j'ai trouvées aquí .

J'ai réussi à charger le fichier CSV qui spécifie les informations nécessaires et je sais également comment importer les fichiers vidéo et créer une nouvelle séquence (comme expliqué). aquí ). Le problème que je rencontre actuellement est que les fichiers importés sont correctement découpés et placés dans la séquence. Je vois que la séquence active a des méthodes comme setInPoint et setOutPoint, mais cela ne semble pas se traduire par un découpage correct lors de l'exportation.

Voici mon code avec des commentaires pour montrer le flux de l'ensemble du script :

#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

2voto

sawa Points 559

Plutôt que de définir des points d'entrée/sortie sur la séquence active, pourquoi ne pas charger votre vidéo brute dans la fenêtre source, y définir les points d'entrée/sortie, puis construire la version finale à l'intérieur de la séquence active.

La copie du clip de la source à la séquence peut se faire de plusieurs façons et devrait être assez facile.

Donc oui, mon conseil serait d'essayer d'utiliser la source plutôt que la séquence pour l'écrêtage. Vous aurez peut-être plus de chance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X