VScrollTitle
From Avisynth wiki
Hope you find this useful. If you want scrolling 'credits' you'll need to set the start frames
manually for each row of text. Note that these are all centered by default.
#----------------------------------------------------------------------# # VScrollTitle # #----------------------------------------------------------------------# # V0.0 # # # # Insert a subtitle that scrolls from (below) the bottom to (above) # # the top of the frame. The total time for the scroll is given in # # seconds in parameter "Time" # #----------------------------------------------------------------------# function VScrollTitle( clip Clop, \ int StartFrame, \ string Title, \ string Font, \ int FontSize, \ int Colour, \ int Time ) { ef = StartFrame + int( Time * Clop.FrameRate ) return Animate( Clop, StartFrame, ef, "subtitle",\ Title, Clop.width/2, int(Clop.Height*1.2), StartFrame, ef, Font, FontSize, Colour, 0, 5, 0, -1,\ Title, Clop.width/2, 0, StartFrame, ef, Font, FontSize, Colour, 0, 5, 0, -1) }
Example application. This was written for a 25fps avi - start frames may need to be adjusted for another frame rate, but the scroll time will stay at 5 seconds.
clip = AVISource("blah.avi") sf = 50 clip = clip.VScrollTitle( sf, "The End", "Uncial", 48, $ffffff, 5 ) clip = clip.VScrollTitle( sf+15, "Directed by", "Arial", 14, $ffffff, 5 ) clip = clip.VScrollTitle( sf+24, "nkotb", "Arial", 24, $ffffff, 5 ) clip = clip.VScrollTitle( sf+40, "Produced by", "Arial", 14, $ffffff, 5 ) clip = clip.VScrollTitle( sf+49, "nkotb", "Arial", 24, $ffffff, 5 ) clip = clip.VScrollTitle( sf+49, "Multi\nline\ntext", "Arial", 24, $ffffff, 5 ) return clip
If you change the font / size the start frames will need tweaking.