document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # 設定値 ---------------------------------------------
  2. # 起動時位置合わせガイド画像・フレーム数
  3. GUIDE_SOURCE = "WireFrame.png"
  4. GUIDE_LENGTH = 450
  5.  
  6. # 前景・背景映像動画(同サイズで作成、16:9)
  7. FRONT_SOURCE = "Front.avi"
  8. BACK_SOURCE  = "Back.avi"
  9.  
  10. # 前景位置調整。X,Y,拡大率
  11. FRONT_POS_X  = -0.08
  12. FRONT_POS_Y  = 0.22
  13. FRONT_SCALE  = 1.15
  14.  
  15. # 光景位置調整。X,Y,拡大率
  16. BACK_POS_X  = -0.08
  17. BACK_POS_Y  = 0.1
  18. BACK_SCALE  = FRONT_SCALE
  19.  
  20. # 影の濃さ
  21. SHADOW_LEVEL = 0.7
  22.  
  23. # 生成する動画のサイズ
  24. TOTAL_WIDTH  = 1920
  25. TOTAL_HEIGHT = Int(TOTAL_WIDTH/16*9)
  26. # ----------------------------------------------------
  27.  
  28.  
  29. # 前景・背景クリップの読み込み
  30. FRONT=AviSource(FRONT_SOURCE)
  31. BACK=AviSource(BACK_SOURCE)
  32.  
  33. # ガイドクリップの読み込み
  34. GUIDE=ImageSource(GUIDE_SOURCE,fps=30,end=GUIDE_LENGTH).ConvertToYUY2()
  35. GUIDE=FlipHorizontal(GUIDE)
  36. GUIDE_TOTAL=BlankClip(clip=FRONT,length=GUIDE_LENGTH,width=TOTAL_WIDTH,height=TOTAL_HEIGHT)
  37. GUIDE=BilinearResize(GUIDE, IntMod4(TOTAL_HEIGHT*BACK_SCALE), IntMod4(TOTAL_HEIGHT/16*9*BACK_SCALE))
  38. GUIDE=TurnRight(GUIDE)
  39. GUIDE_TOTAL=Overlay(GUIDE_TOTAL, GUIDE, x=Int(TOTAL_WIDTH/2*BACK_POS_Y+TOTAL_WIDTH/2), y=Int(TOTAL_HEIGHT*BACK_POS_X), opacity=1.0, mode="Blend")
  40.  
  41. # 出力用クリップの生成
  42. TOTAL=BlankClip(clip=FRONT,length=FrameCount(FRONT),width=TOTAL_WIDTH,height=TOTAL_HEIGHT)
  43. TOTAL=AudioDub(TOTAL,FRONT)
  44.  
  45. # 前景・背景の音を削除
  46. FRONT=KillAudio(FRONT)
  47. BACK=KillAudio(BACK)
  48.  
  49. # 左右反転
  50. FRONT=FlipHorizontal(FRONT)
  51. BACK=FlipHorizontal(BACK)
  52.  
  53. # 影の生成
  54. SHADOW=Greyscale(FRONT).Levels(10, 100.0, 255, 0, 255).Blur(1.0).Blur(1.0).Blur(1.0).Blur(1.0).Blur(1.0).Invert
  55. BACK=Overlay(BACK, SHADOW, mode="Multiply", opacity=SHADOW_LEVEL)
  56.  
  57.  
  58. # 前景あてはめ
  59. FRONT=BilinearResize(FRONT, IntMod4(TOTAL_HEIGHT*FRONT_SCALE), IntMod4(TOTAL_HEIGHT/16*9*FRONT_SCALE))
  60. FRONT=TurnRight(FRONT)
  61. TOTAL=Overlay(TOTAL, FRONT, x=Int(TOTAL_WIDTH/2*FRONT_POS_Y), y=Int(TOTAL_HEIGHT*FRONT_POS_X), opacity=1.0, mode="Blend")
  62.  
  63. # 後景あてはめ
  64. BACK=BilinearResize(BACK, IntMod4(TOTAL_HEIGHT*BACK_SCALE), IntMod4(TOTAL_HEIGHT/16*9*BACK_SCALE))
  65. BACK=TurnRight(BACK)
  66. TOTAL=Overlay(TOTAL, BACK, x=Int(TOTAL_WIDTH/2*BACK_POS_Y+TOTAL_WIDTH/2), y=Int(TOTAL_HEIGHT*BACK_POS_X), opacity=1.0, mode="Blend")
  67.  
  68. GUIDE_TOTAL+TOTAL
  69.  
  70. # 4の倍数に丸める
  71. function IntMod4(float "value") {
  72.     return Int(Int(Int(value)/4)*4)
  73. }
');