VideoHelp Forum




+ Reply to Thread
Results 1 to 7 of 7
  1. Member
    Join Date
    Jun 2007
    Location
    Canada
    Search Comp PM
    Hi all - Don't know if this is the best forum section for this . . .

    I used this avisynth script to use 16 different pngs to create the effect of scrolling text. A function CreditScroll is created which uses the Animate filter [http://avisynth.org/mediawiki/Animate] to "scroll" each png which is overlayed onto a blank clip. I used a word processor to create the text - then did a 640x480 capture of each text page to separate 640x480 pngs - I then "inverted" each image to make white text on black background

    function CreditScroll(string file, int "numSecs", int "vidWidth", int "vidHeight")
    {
    fps = 24000/1001.0
    numSecs = default(numSecs, 10)
    numFrames = int(numSecs * fps)
    vidWidth = 640
    vidHeight = 480
    credits = ImageSource(file, end=numFrames-1, pixel_type="RGB32")
    Animate(0, numFrames-1, "spline64resize", credits, vidWidth, vidHeight, 0.0, -vidHeight, vidWidth, vidHeight, credits, vidWidth, vidHeight, 0.0, credits.height, vidWidth, vidHeight)
    }

    vidWidth = 640
    vidHeight = 480
    numSecs = 10
    myfps=(24000.0/1001.0)
    image1 = "C:\1.png"
    image2 = "C:\2.png"
    image3 = "C:\3.png"
    image4 = "C:\4.png"
    image5 = "C:\5.png"
    image6 = "C:\6.png"
    image7 = "C:\7.png"
    image8 = "C:\8.png"
    image9 = "C:\9.png"
    image10 = "C:\10.png"
    image11 = "C:\11.png"
    image12 = "C:\12.png"
    image13 = "C:\13.png"
    image14 = "C:\14.png"
    image15 = "C:\15.png"
    image16 = "C:\16.png"
    blankclip(240,fps=myfps,vidWidth,vidHeight)
    credits = CreditScroll(image1, numSecs, vidWidth,vidHeight)
    a=overlay(credits)
    credits = CreditScroll(image2, numSecs, vidWidth, vidHeight)
    b=overlay(credits)
    credits = CreditScroll(image3, numSecs, vidWidth, vidHeight)
    c=overlay(credits)
    credits = CreditScroll(image4, numSecs, vidWidth,vidHeight)
    d=overlay(credits)
    credits = CreditScroll(image5, numSecs, vidWidth,vidHeight)
    e=overlay(credits)
    credits = CreditScroll(image6, numSecs, vidWidth,vidHeight)
    f=overlay(credits)
    credits = CreditScroll(image7, numSecs, vidWidth,vidHeight)
    g=overlay(credits)
    credits = CreditScroll(image8, numSecs, vidWidth, vidHeight)
    h=overlay(credits)
    credits = CreditScroll(image9, numSecs, vidWidth, vidHeight)
    i=overlay(credits)
    credits = CreditScroll(image10, numSecs, vidWidth,vidHeight)
    j=overlay(credits)
    credits = CreditScroll(image11, numSecs, vidWidth,vidHeight)
    k=overlay(credits)
    credits = CreditScroll(image12, numSecs, vidWidth,vidHeight)
    l=overlay(credits)
    credits = CreditScroll(image13, numSecs, vidWidth, vidHeight)
    m=overlay(credits)
    credits = CreditScroll(image14, numSecs, vidWidth,vidHeight)
    n=overlay(credits)
    credits = CreditScroll(image15, numSecs, vidWidth,vidHeight)
    o=overlay(credits)
    credits = CreditScroll(image16, numSecs, vidWidth,vidHeight)
    p=overlay(credits)
    vid=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p
    vid
    converttoyv12(interlaced=false).bilinearresize(720 ,480)

    I used Quenc to create the .m2v file with 3:2 pulldown then muxed the ac3 audio with Muxman to create the sample DVD

    Don't know if I should have used 29.970 without pulldown or not.

    Here is a sample png [reduced to 2 colors] - the originals are 24bit

    If anyone is interested in the final product I have uploaded a .rar file [32.8 MB] to MediaFire that contains
    .m2v, .ac3, 16 pngs, two avisynth scripts, a sample DVD, and a sample 640x480 xvid clip

    http://www.mediafire.com/download.php?6icww1wxgsj2e6d
    Image Attached Thumbnails Click image for larger version

Name:	15a.png
Views:	16324
Size:	38.1 KB
ID:	3416  

    Quote Quote  
  2. Member
    Join Date
    Jun 2007
    Location
    Canada
    Search Comp PM
    Made some changes to my script as I did not like the output on my TV

    1. Best to keep the text black on white and use invert() in the avisynth script to get white letters on black background
    2. I also added tweak(0,1,14,0.86,coring=true) to get the range of 16-235
    3. Used ImageReader() instead of ImageSource
    4. And I used HCEnc for the .m2v encoding

    Here's the new script - that will work with black text on white background:

    function CreditScroll(string file, int "numSecs", int "vidWidth", int "vidHeight")
    {
    fps = 30000.0/1001.0
    numSecs = default(numSecs, 10)
    numFrames = int(numSecs * fps)
    vidWidth = 640
    vidHeight = 480
    credits = ImageReader(file, end=numFrames, pixel_type="RGB32")
    Animate(0, numFrames, "spline64resize", credits, vidWidth, vidHeight, 0.0, -vidHeight, vidWidth, vidHeight, credits, vidWidth, vidHeight, 0.0, credits.height, vidWidth, vidHeight)
    }
    vidWidth = 640
    vidHeight = 480
    numSecs = 10
    myfps=(30000.0/1001.0)
    image1 = "C:\image1.png"
    image2 = "C:\image2.png"
    image3 = "C:\image3.png"
    image4 = "C:\image4.png"
    image5 = "C:\image5.png"
    image6 = "C:\image6.png"
    image7 = "C:\image7.png"
    image8 = "C:\image8.png"
    image9 = "C:\image9.png"
    image10 = "C:\image10.png"
    image11 = "C:\image11.png"
    image12 = "C:\image12.png"
    image13 = "C:\image13.png"
    image14 = "C:\image14.png"
    image15 = "C:\image15.png"
    image16 = "C:\image16.png"
    blankclip(300,fps=myfps,vidWidth,vidHeight)
    credits = CreditScroll(image1, numSecs, vidWidth,vidHeight)
    a=layer(credits)
    credits = CreditScroll(image2, numSecs, vidWidth, vidHeight)
    b=layer(credits)
    credits = CreditScroll(image3, numSecs, vidWidth, vidHeight)
    c=layer(credits)
    credits = CreditScroll(image4, numSecs, vidWidth,vidHeight)
    d=layer(credits)
    credits = CreditScroll(image5, numSecs, vidWidth,vidHeight)
    e=layer(credits)
    credits = CreditScroll(image6, numSecs, vidWidth,vidHeight)
    f=layer(credits)
    credits = CreditScroll(image7, numSecs, vidWidth,vidHeight)
    g=layer(credits)
    credits = CreditScroll(image8, numSecs, vidWidth, vidHeight)
    h=layer(credits)
    credits = CreditScroll(image9, numSecs, vidWidth, vidHeight)
    i=layer(credits)
    credits = CreditScroll(image10, numSecs, vidWidth,vidHeight)
    j=layer(credits)
    credits = CreditScroll(image11, numSecs, vidWidth,vidHeight)
    k=layer(credits)
    credits = CreditScroll(image12, numSecs, vidWidth,vidHeight)
    l=layer(credits)
    credits = CreditScroll(image13, numSecs, vidWidth, vidHeight)
    m=layer(credits)
    credits = CreditScroll(image14, numSecs, vidWidth,vidHeight)
    n=layer(credits)
    credits = CreditScroll(image15, numSecs, vidWidth,vidHeight)
    o=layer(credits)
    credits = CreditScroll(image16, numSecs, vidWidth,vidHeight)
    p=layer(credits)
    vid=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p
    vid.converttoyuy2()
    tweak(0,1,14,0.86,coring=true).bilinearresize(720, 480).invert()
    Quote Quote  
  3. Nice work. But anyone with a CRT will get horrible flickering with that small un-antialiased text. Even many progressive displays will flicker if you encode that interlaced. It would be better to use larger antialiased text with thicker strokes.
    Quote Quote  
  4. Member
    Join Date
    Jun 2007
    Location
    Canada
    Search Comp PM
    Thanks for the input jagabo

    I did another test, this time using 20 pt and 24 pt Arial Narrow [Although I think I will ultimately use Tahoma font]

    Looks way better - no flickering and no "chroma noise" on my old SD TV

    The credits do look a bit big but they are certainly readable - unlike a lot of commercial DVD's I've seen
    Quote Quote  
  5. Another possibility would be to start with much bigger graphics and reduce their size with a bilinear filter in the script. That would give you text more like you see on a typical DVD.

    Now you need to do the Star Wars mod with the text flying off into the distance...
    Quote Quote  
  6. Member
    Join Date
    Jun 2007
    Location
    Canada
    Search Comp PM
    Here's a .rar file with a 20 sec xvid 640x480 avi and a 20 sec DVD

    I used 40pt Tahoma font antialias strong for the Normal text and antialias smooth for the Bold Text

    Original .png is 1290x960

    Here's the link -> http://www.mediafire.com/download.php?37bq31ip79c2h12 = 3.28 MB

    It would be nice to know how this looks on other Monitors and TVs - TIA

    ... I'd like to figure out how to do that Star Wars thing
    Quote Quote  
  7. Member
    Join Date
    Jun 2007
    Location
    Canada
    Search Comp PM
    Here's a .rar file with a scrolling 640x1920 image [from a jpg]

    -> DVD folder and 640x480.avi

    http://www.mediafire.com/download.php?urh6x4ljtqhss91


    and just the 640x480.avi

    http://www.mediafire.com/download.php?0kckxcshwevl0be
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!