Поиск чёрных кадров в футаже

rungun3

New Member
Всем привет!!!
есть экспрешен
и текстовый слой отображает RGBA пикселя
у нас на работе монтажёры монтируют и оставляют чёрные дырки для меня
спомощью этого экспрешена можно замечательно искать их. А если мы вместе подумаем то, сможем автоматом резать планы.

-----------------------------------------------------------Форум не грузит мои скрины---

выдавил из себя вот это

function blackHoles(){
dur=app.project.item(1).duration/0.04/25 ;
alert(dur);
i=0;
app.project.item(1).time=i;
targetLayer =app.project.item(1).layer(2);
while (i <dur) {
app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value;
i=i+1;
if(asd==48){
app.project.item(1).time=i;

do{ i=i-0.04;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
app.project.item(1).time=i=i+0.04;

targetLayer.outPoint=i;
//targetLayer.duplicate();
//targetLayer.inPoint=i;
if(asd!==48){
app.project.item(1).time=i;

do{ i=i+1;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
targetLayer.duplicate();
targetLayer.inPoint=i;
}
}

}


do{ i=i+1;app.project.item(1).time=i;
asd=app.project.item(1).layer(1).property("sourceText").value; }while(asd==48);
targetLayer.duplicate();
targetLayer.inPoint=i;
}
}

}




в композиции два слоя
1 текст с экспрешеном который выдаёт RGB
targetLayer = thisComp.layer(thisLayer.index+1);
samplePoint = targetLayer.effect("Point Control")("Point");
sampleRadius = [1,1];
sampledColor_8bpc = 255 * targetLayer.sampleImage(samplePoint, sampleRadius);
R = Math.round(sampledColor_8bpc[0]);
G = Math.round(sampledColor_8bpc[1]);
B = Math.round(sampledColor_8bpc[2]);
A = Math.round(sampledColor_8bpc[3]);
outputString = " R: " +R+ "r G: " +G+ "r B: " +B+ "r A: " +A

последнюю строку я записал так parseFloat( R+G+B); сумма R=16 G=16 B=16- это чёрное поле = 48

2 футаж с эфектом Point Control

и работет))))

Есть проблемы!!!
1 как обойтись без текстового слоя с экспрешеном, чтобы просто запускать скрипт и он всё делает?
2 sampleImage не работает в отдельном скрипте?
3 ну если без тектового слоя никак... то как в созданный текст вписать этот экспрешн- чтобы был експрешеном а не текстом

так не получается
app.project.item(1).layer(1).property("sourceText").setValue('targetLayer =thisComp.layer(thisLayer.index+1);
samplePoint = targetLayer.effect("Point Control")("Point");sampleRadius = [1,1];sampledColor_8bpc = 255 * targetLayer.sampleImage([1,1]);R = Math.round(sampledColor_8bpc[0]);G = Math.round(sampledColor_8bpc[1]);B = Math.round(sampledColor_8bpc[2]);A = Math.round(sampledColor_8bpc[3]);parseFloat( R+G+B);');
 

pavelusha

Gold Expert
Чтобы добавить экспрешен к текстовому слою надо делать примерно так:

app.project.activeItem.layer(1).text.sourceText.expression= "timeToCurrentFormat(time)";

Вот тут я игрался с динамическим изменением экспрешена для свойств слоев.
линк где проект можно скачать:
https://blueplatedigital.box.com/s/02uagl43bje99jc4i4o3z8b1d69ndljm
 

monter

Человечище
ну...... может просто порезать слой по шотам, типа скрипта Магнум, расставить маркеры, и по маркерам удалить черные шоты?
или я что-то не так понял?
 

rungun3

New Member
pavelusha сказал(а):
Чтобы добавить экспрешен к текстовому слою надо делать примерно так:

app.project.activeItem.layer(1).text.sourceText.expression= "timeToCurrentFormat(time)";
Спасибо! Буду создавать слой с экспрешеном и после его удалять
Кстати в PDF по скриптингу в AE ничего нет про sampleImage
это потому что javascriptовская фигня?
 
Верх