可以用 TMPGEnc Plus 或 Avisynth編寫
寫個簡單例子
function BaseClip(string Pic_template, Int "Len")
{
Len = Default(Len, 1)
v = ImageReader(Pic_template).flipvertical.LanczosResize(BW,BH).ConvertToRGB32.ChangeFPS(10)
return Layer(BlankClip(v,Len),v,"add",255,0,0).trim(1,0) #因為第0號frame是倒過來的所以捨棄之
}
# 設定影片長寬
global BW=640
global BH=480
a=Directshowsource("c:\1.mp3") #也可以是一個影片 EX. "D:\1.avi"
c1=BaseClip("mtv_001.jpg", 100) #100=10秒
c2=BaseClip("mtv_002.jpg", 200)
c=Dissolve(c1,c2,c1,c2,10) #效果是 c1顯示完漸變成c2接著又c1最後c2
AudioDub(c,a)
要不停的換圖請自行加
c3=BaseClip("mtv_003.jpg", 100)
當然以上的改良空間很大