VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. Hey all,

    I have been using TMPGenc to convert 25fps AVIs (progressive) to 29.97fps SVCDs (interlaced), and it works very well - video is smooth (no judder). But I would like to try using another tool (like CCE) to encode, and it does not do framerate conversion.

    I have seen AviSynth scripts to do NTSC->PAL, but not PAL->NTSC. It seems to me that the right AviSynth script could do conversion of 25fps progressive to 29.97fps progressive or interlaced. Has anyone done this? If so, could you post your script?

    (BTW: I have tried playing a 25fps SVCD on my DVD player, and it sort of works, but the audio is out of sync until I move back and forth through chapters. Weird. I would prefer to encode a more-standards compliant NTSC SVCD.)

    Thanks very much,

    zizou
    Quote Quote  
  2. Member
    Join Date
    Mar 2002
    Location
    chicago
    Search Comp PM
    what are you askin' me for...
    I'm an idiot!
    Quote Quote  
  3. Thanks for the link to Xesdeeni's script. I was able to adapt that script for my uses (25fps progressive to 29.97fps progressive). The key is AviSynth's ChangeFPS function, which simply repeats or drops frames to achieve the requested framerate. And the results looks very good to me: no judder that I can see, same as TMPGEnc results.

    Anyone else who wants to try this: note that you do need to use Xesdeeni's kludge to manually lengthen or shorten the video length (frame count) when you change the fps - see his code for comments on this.

    Here is my successful script, for anyone to see. Of course, you will need to adapt the resize and AddBorders numbers for your movie:

    Code:
    v0 = avisource("C:\mymovie.avi")
    v1 = v0.ConvertToYUY2
    
    # When the output frame count is greater than the input frame count, due to 
    # a problem with AVISynth, the output video is truncated so that it only has 
    # as many frames as the input video. Here we work around this issue by 
    # adding enough black frames to ensure all the frames are available on the 
    # output. 
    InputFrameRate = v1.framerate
    InputFrameCount = v1.framecount
    OutputFrameCount = round(InputFrameCount * (29.97 / InputFrameRate))
    v2 = v1 + v1.Blackness(OutputFrameCount - InputFrameCount)
    
    # resize to CVD (352 x 480) with overscan borders
    v3 = v2.BicubicResize(320,400)
    v4 = v3.Sharpen(0.3)
    v5 = v4.AddBorders(16,40,16,40) 
    
    # change 25fps to 29.97 fps using AviSynth fxn that adds or drops frames
    v6 = v5.ChangeFPS(29.97)
    return(v6)
    zizou108
    Quote Quote  



Similar Threads

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