にわとり遊び
PC関連とエンコードの覚書き
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

多局ブレンドでクリップ間に差異があるとき一方のクリップに上書きを行う - OverDiff
多局ブレンドを行う際、毎回出る局独自の宣伝テロップや番組内提供など、出現フレームが毎回変わるものに対して使用します。テロップがフェードする場合は不完全になるので使わないほうがいいです。

0_20150124180237ae6.png

1_20150124180236555.png

BS11=OverDiff(BS11,MX,"crop(1100,580,-100,500)",1100,580,"crop(1670,40,150,80)",1670,40)
BS11=OverDiff(BS11,MX,"crop(1670,40,150,80)",1670,40)
番組内提供をMXのものに上書きし、提供間のロゴを処理しています。
ロゴだけの処理だと判定漏れ多発するので、提供の判定があるうちはロゴ部分も上書きするようにしています。
ただし、提供が出るまでの前後は背景によっては判定漏れします。


function OverDiff (clip clip1,clip clip2,string "filter",int "x",int "y",string "filter2",int "x2",int "y2",int "luma",bool "show") {
x=default(x,0)
y=default(y,0)
x2=default(x2,0)
y2=default(y2,0)
luma=default(luma,133)
global luma=luma
c1=(defined(filter)) ? eval("clip1."+filter) : clip1
c2=(defined(filter)) ? eval("clip2."+filter) : clip2
c2_2=(defined(filter2)) ? eval("clip2."+filter2) : nop
diff=Overlay(c1,c2,mode="difference")
clip3=Overlay(clip1,c2,x=x,y=y)
clip3=(defined(filter2)) ? Overlay(clip3,c2_2,x=x2,y=y2) : clip3
clip=ConditionalFilter(diff,clip1,clip3,"AverageLuma","<","luma",show=show)
return clip
}

clip1 - ベースとなるクリップ
clip2 - clip1に上書きするクリップ
filter - 双方のクリップを比較・上書きするためのcropを記述する。
x,y - Overlayのx,y位置
filter2 - 上書き判定が出た際、こちらも合わせて上書きする。判定には影響しない。
x2,y2 - filter2でのOverlayのx,y位置
luma - 比較クリップの差のしきい値
show - ConditionalFilterによるshowオプションを表示する
スポンサーサイト

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://sasamisi.blog24.fc2.com/tb.php/302-731286fd
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。