আমি ExtendScript
প্রিমিয়ার প্রো-এর জন্য একটি স্ক্রিপ্ট তৈরি করার চেষ্টা করছি যা নির্দিষ্ট ভিডিও ফাইলগুলি লোড-ইন করবে, নির্দিষ্ট শুরুতে ক্লিপ করবে এবং সময়গুলি বন্ধ করবে, সেগুলি একটি সিকোয়েন্সে রাখবে এবং তারপরে ফলাফলটি মুভিটি রফতানি করবে।
আমি বুঝতে পারি যে অ্যাডোবের প্রিমিয়ার প্রো-এর স্ক্রিপ্টিং সম্পর্কিত কোনও অফিসিয়াল ডকুমেন্টেশন নেই, তাই আমি ডেটা ব্রাউজার থেকে কাজ করছি ( ExtendScript Toolkit
বা, ESTK
এবং) এবং এখানে পাওয়া শ্রেণীর রেফারেন্সের সংকলন ।
আমি সফলভাবে সিএসভি ফাইলটিতে লোড করেছি যা প্রয়োজনীয় তথ্য সুনির্দিষ্ট করে এবং কীভাবে ভিডিও ফাইলগুলি আমদানি করতে এবং একটি নতুন সিকোয়েন্স তৈরি করতে হয় ( এখানে বর্ণিত হিসাবে )। আমি এখন যে সমস্যার মুখোমুখি হচ্ছি তা হ'ল আমদানি করা ফাইলগুলি সঠিকভাবে ক্লিপড করে ক্রমটিতে স্থাপন করা হচ্ছে। আমি দেখতে পাচ্ছি যে অ্যাক্টিভ সিক্যুয়েন্সে সেটআইনপয়েন্ট এবং সেটআউটপয়েন্টের মতো পদ্ধতি রয়েছে তবে রফতানির সময় সঠিক ট্রিমিংয়ের ফলস্বরূপ বলে মনে হয় না।
সামগ্রিক স্ক্রিপ্টের প্রবাহ দেখানোর জন্য মন্তব্য সহ আমার কোড এখানে রয়েছে:
#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