Постановка нескольких композиций на просчет

dok

New Member
Здравствуйте!

У "monter" нашел этот пример работы с композициями:

"Добавляем активную композицию в очередь просчета:
myProj = app.project;
myComp = myProj.activeItem;
myRenderQueue = myProj.renderQueue;
myQueueItem = myRenderQueue.items.add(myComp);"

Но это касается только одной текущей "Comp". В интернете находил примеры в которых требовалось предварительно выбрать "Composition", опять же сделать их текущими.

выражения типа

myProj = app.project;
myComp = myProj.item(1);
alert ( myComp);

почему -то возвращают [object CompItem] без ее названия. Не получается почему-то обратиться к тому, что нужно даже выстраивая всю цепочку до объекта.
А можно ли как-то поместить на просчет сразу несколько заранее известных композиций без диалога с пользователем?
 

dok

New Member
Ура, получилось. Скрипт жестко привязан к 3 композишинам. Необходимо было поставить на просчет Comp с i=18, 19, 20. Оказывается , обращение идет по их ID. Пришлось посчитать их порядковые номера заранее в окошке проекта. Конечно, это сделано с целью упрощения всего и вся.
Наверно грамотнее с т.з. универсальности скрипта было бы загнать все итемс в массив, потом перебрать их там, и отсортировать на просчет только нужные.
Но уже работает и это здорово. Теперь буду разбираться с уведомлением на е-мейл. Это пока важнее для работы. Жаль, что писать свое мнение здесь я могу только 1 раз в день.



var myFolder ="Z:\Adobe Encoder Rendering" // место, куда будем сохранять файлы
myProj = app.project;
for (var i = 18; i <21; i++) { // цикл для постановки композиций в очередь

myCompInProject = myProj.item(i); //обращаемся к композиции в окошке проекта по ее индексу
app.project.item(i).openInViewer(); //открываем ее во Viewer как свидетельство работы скрипта
myComp = myProj.activeItem; // наша текущая композиция myComp та, что открыта во Viewer
//alert (myComp.name);
myRenderQueue = myProj.renderQueue;
myQueueItem = myRenderQueue.items.add(myComp); // добавляем в RenderQueue
myQueueItem.applyTemplate("Best Settings"); // Параметры для Render Settings
myOM = myQueueItem.outputModule(1); // Output Module=1
myOM.applyTemplate("QT_H264"); // Кодек
myOM.file = new File(myFolder.toString() +"/[compName]_[dateDay]-[dateMonth]-[dateYear]_[timeHour]-[timeMins].[fileExtension]");
}

myRenderQueue.render(); // Запускаем просчет

for (var i = 1; i <4; i++) {
app.project.renderQueue.item(1).remove(); // чистим очередь просчета Render Queue
}
 

metal_01

New Member
когда то писал что то подобное, когда нужно рендерить в одну и ту же папку с разными именями... держи, разбирайся
https://yadi.sk/d/MHv74U783Ltoki
где то в этой ветке был длинный топик с тем, как я писал этот скрипт.
 
  • Like
Реакции: dok

dok

New Member
Большое спасибо за советы. У меня еще один вопрос.
Когда я прописываю путь сохранения файла в скрипте, то работает только если это локальный диск. А если нужно сохранить в локальную сеть,
то "not exist". При чем сам АЕ туда прекрасно рендерит. В чем может быть проблема?
 

metal_01

New Member
что за рендер: стандартный или из командной строки?
куда ты прописываешь и как? хоть что нибудь дай.

посмотри мой скрипт, он же открыт, там все прописано.
 

dok

New Member
Я вынужден взять небольшую паузу. Много дизайнерской работы заказали. Пока просчет идет на локальный диск, затем Encoder перекодирует из папки отслеживания в другой формат. Наверно так даже лучше, ибо напрямую сохранять в MXF из Ae возможности все равно нет. Почему-то адобовцы все кодеки перенесли в энкодер.
 

monter

Человечище
на адобовцев надейся а сам не плошай! )))) ВСЁ возможно!
ЗЫ... ты с казани????
 
Верх