paul_slocum
7th February 2009, 21:45
I have a complex script that I want to optimize because it takes about an hour to render on my computer. I'm pasting the script below to see if anyone has any ideas, but I was also wondering if there is any documentation on how AVIsynth works internally and how it uses memory so I can optimize scripts myself. It appears that the layer function is what's really eating up most of the processing time. Thanks!
-paul
# Set up video/audio sources
clip1=DirectShowSource("crazyguy.avi").converttoRGB32
clip1=assumeFPS( clip1, 30)
music=WAVSource("hemthis4.wav")
# Blank clips to be used for spacers
blS = trim(BlankClip(clip1, color=$000000),0,14)
blL = trim(BlankClip(clip1, color=$000000),0,15)
# Video track sequences
t0S = trim(clip1,933,947)
t0L = trim(clip1,933,948)
track0=t0S+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+blL+blS+blL+blL+blS+blL+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0S+t0L+t0L+t0S+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+t0S+t0L+t0L+t0S+t0L+t0L+
t0S+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+
t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0S+t0L+t0L+t0S+t0L+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L
t1S = trim(clip1,743,757)
t1L = trim(clip1,743,758)
track1=t1S+
t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+t1L+t1L+
t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+
t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1S+t1L+t1L+t1S+t1L+
t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L
t2S = trim(clip1,262,276)
t2L = trim(clip1,262,277)
track2=t2S+
t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+
t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2S+t2L+t2L+t2S+t2L+t2L+
t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+
t2S+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L
t3S = trim(clip1,529,543)
t3L = trim(clip1,529,544)
track3=t3S+
t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+
t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3S+t3L+t3L+t3S+t3L+t3L+
t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+
t3S+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+blL+blL+blS+
blL+t3L+t3S+t3L+t3L+t3S+t3L+t3L+blS+blL+blS+blL+blL+blS+blL+
blL+blS+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L
t4S = trim(clip1,700,714)
t4L = trim(clip1,700,715)
track4=t4S+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4S+t4L+t4L+t4S+t4L+t4L+
t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+
t4S+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+
t4L+blL+blS+blL+blL+blS+blL+blL+t4S+t4L+t4S+t4L+t4L+t4S+t4L+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L
t8S = trim(clip1,508,522)
t8L = trim(clip1,508,523)
track8=t8S+
t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+
blL+blS+blL+blL+blS+t8L+t8L+t8S+blL+blS+blL+blL+blS+blL+blL+
blS+t8L+t8L+t8S+t8L+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
t8S+t8L+t8S+blL+blL+blS+blL+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+
t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8S+t8L+t8L+t8S+t8L+
t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L
t9S = trim(clip1,752,766)
t9L = trim(clip1,752,767)
track9=t9S+
t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+
t9L+t9S+t9L+t9L+t9S+blL+blL+blS+t9L+t9S+t9L+t9L+t9S+t9L+t9L+
t9S+blL+blL+blS+blL+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+
blS+blL+blS+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+
t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9S+t9L+t9L+t9S+t9L+
t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L
t14S = trim(clip1,256,270)
t14L = trim(clip1,256,271)
track14=blS+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL
t15S = trim(clip1,256,270)
t15L = trim(clip1,256,271)
track15=blS+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL
t16S = trim(clip1,119,133)
t16L = trim(clip1,119,134)
track16=t16S+
t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+
t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16S+t16L+t16L+t16S+t16L+t16L+
t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+t16S+t16L+
t16L+t16S+blL+blL+blS+blL+blL+blS+blL+blL
t17S = trim(clip1,711,725)
t17L = trim(clip1,711,726)
track17=t17S+
t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+
t17L+t17S+t17L+t17L+blS+blL+blL+blS+blL+blS+blL+blL+blS+t17L+t17L+
t17S+blL+blL+blS+blL+blL+blS+blL+blL+t17S+t17L+t17L+t17S+t17L+t17L+
t17S+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+
t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17S+t17L+t17L+t17S+t17L+
t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L
# Overlay all video tracks into final clip
final = BlankClip(track1, color=$000000)
final = Layer(final, track0, "fast")
final = Layer(final, track1, "fast")
final = Layer(final, track2, "fast")
final = Layer(final, track3, "fast")
final = Layer(final, track4, "fast")
final = Layer(final, track8, "fast")
final = Layer(final, track9, "fast")
final = Layer(final, track14, "fast")
final = Layer(final, track15, "fast")
final = Layer(final, track16, "fast")
final = Layer(final, track17, "fast")
# Dub music and return final clip
final = audiodub( final, music )
return(final)
-paul
# Set up video/audio sources
clip1=DirectShowSource("crazyguy.avi").converttoRGB32
clip1=assumeFPS( clip1, 30)
music=WAVSource("hemthis4.wav")
# Blank clips to be used for spacers
blS = trim(BlankClip(clip1, color=$000000),0,14)
blL = trim(BlankClip(clip1, color=$000000),0,15)
# Video track sequences
t0S = trim(clip1,933,947)
t0L = trim(clip1,933,948)
track0=t0S+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+blL+blS+blL+blL+blS+blL+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0S+t0L+t0L+t0S+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+t0S+t0L+t0L+t0S+t0L+t0L+
t0S+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+
t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0S+t0L+t0L+t0S+t0L+
t0L+t0S+t0L+t0L+t0S+t0L+t0L+t0S+t0L+t0L
t1S = trim(clip1,743,757)
t1L = trim(clip1,743,758)
track1=t1S+
t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+t1L+t1L+
t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+
t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1S+t1L+t1L+t1S+t1L+
t1L+t1S+t1L+t1L+t1S+t1L+t1L+t1S+t1L+t1L
t2S = trim(clip1,262,276)
t2L = trim(clip1,262,277)
track2=t2S+
t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+
t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2S+t2L+t2L+t2S+t2L+t2L+
t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+
t2S+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L+t2S+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+t2L+t2L+t2S+t2L+t2L+t2S+t2L+t2L
t3S = trim(clip1,529,543)
t3L = trim(clip1,529,544)
track3=t3S+
t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+
t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3S+t3L+t3L+t3S+t3L+t3L+
t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+
t3S+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L+t3S+blL+blL+blS+
blL+t3L+t3S+t3L+t3L+t3S+t3L+t3L+blS+blL+blS+blL+blL+blS+blL+
blL+blS+t3L+t3L+t3S+t3L+t3L+t3S+t3L+t3L
t4S = trim(clip1,700,714)
t4L = trim(clip1,700,715)
track4=t4S+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4S+t4L+t4L+t4S+t4L+t4L+
t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+
t4S+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+
t4L+blL+blS+blL+blL+blS+blL+blL+t4S+t4L+t4S+t4L+t4L+t4S+t4L+
t4L+t4S+t4L+t4L+t4S+t4L+t4L+t4S+t4L+t4L
t8S = trim(clip1,508,522)
t8L = trim(clip1,508,523)
track8=t8S+
t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+
blL+blS+blL+blL+blS+t8L+t8L+t8S+blL+blS+blL+blL+blS+blL+blL+
blS+t8L+t8L+t8S+t8L+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
t8S+t8L+t8S+blL+blL+blS+blL+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+
t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8S+t8L+t8L+t8S+t8L+
t8L+t8S+t8L+t8L+t8S+t8L+t8L+t8S+t8L+t8L
t9S = trim(clip1,752,766)
t9L = trim(clip1,752,767)
track9=t9S+
t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+
t9L+t9S+t9L+t9L+t9S+blL+blL+blS+t9L+t9S+t9L+t9L+t9S+t9L+t9L+
t9S+blL+blL+blS+blL+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+
blS+blL+blS+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+
t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9S+t9L+t9L+t9S+t9L+
t9L+t9S+t9L+t9L+t9S+t9L+t9L+t9S+t9L+t9L
t14S = trim(clip1,256,270)
t14L = trim(clip1,256,271)
track14=blS+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL
t15S = trim(clip1,256,270)
t15L = trim(clip1,256,271)
track15=blS+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+blS+blL+
blL+blS+blL+blL+blS+blL+blL+blS+blL+blL
t16S = trim(clip1,119,133)
t16L = trim(clip1,119,134)
track16=t16S+
t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+
t16L+t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16S+t16L+t16L+t16S+t16L+t16L+
t16S+t16L+t16L+t16S+t16L+t16L+t16S+t16L+t16L+blS+blL+blL+blS+blL+blL+
blS+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blL+blS+
blL+blL+blS+blL+blL+blS+blL+blL+blS+blL+blS+blL+blL+t16S+t16L+
t16L+t16S+blL+blL+blS+blL+blL+blS+blL+blL
t17S = trim(clip1,711,725)
t17L = trim(clip1,711,726)
track17=t17S+
t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+
t17L+t17S+t17L+t17L+blS+blL+blL+blS+blL+blS+blL+blL+blS+t17L+t17L+
t17S+blL+blL+blS+blL+blL+blS+blL+blL+t17S+t17L+t17L+t17S+t17L+t17L+
t17S+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+
t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17S+t17L+t17L+t17S+t17L+
t17L+t17S+t17L+t17L+t17S+t17L+t17L+t17S+t17L+t17L
# Overlay all video tracks into final clip
final = BlankClip(track1, color=$000000)
final = Layer(final, track0, "fast")
final = Layer(final, track1, "fast")
final = Layer(final, track2, "fast")
final = Layer(final, track3, "fast")
final = Layer(final, track4, "fast")
final = Layer(final, track8, "fast")
final = Layer(final, track9, "fast")
final = Layer(final, track14, "fast")
final = Layer(final, track15, "fast")
final = Layer(final, track16, "fast")
final = Layer(final, track17, "fast")
# Dub music and return final clip
final = audiodub( final, music )
return(final)