VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. First i want to make smoothing or motion blur, something like blend each frame with next and previous one to make more smooth movement before i drop frames, how i achieve this in VirtualDub what filter to use?

    VirtualDub what filter you recommend?
    Image Attached Files
    Quote Quote  
  2. I'm not sure about VirtualDub but you can do this with QTGMC in AviSynth.

    Code:
    QTGMC( Preset="Fast", InputType=1, ShutterBlur=1, ShutterAngleSrc=30, ShutterAngleOut=180, FPSDivisor=2 )
    Image Attached Files
    Quote Quote  
  3. I'm not sure the way you want to do it would produce a natural looking result. Blending each frame evenly with the previous and next one gives you this (created with Avisynth's TemporalSoften). After dropping every second frame they still look the same, only there's half as many.

    Image
    [Attachment 74618 - Click to enlarge]


    I couldn't get VirtualDub2's smoother or temporal smoother filters to work for your source. I suspect they don't blend when the luma difference between pixels exceeds a certain amount.
    There's an interpolate filter though. I assume it only blends each frame with the previous one when halving the frame rate, but you can set a target frame rate with it.

    Image
    [Attachment 74620 - Click to enlarge]


    The motion blur filter might look more natural, although it's not configurable. For that one you'd have to add it under Video/Filters, then configure VD to only process every second frame under Video/Frame Rate.

    Image
    [Attachment 74621 - Click to enlarge]


    Try the motion blur and interpolate filters with your source (assuming it's a more natural type of video) to see which one you prefer.

    Edit: I was messing around using VirtualDub2. If you're using the original VirtualDub, I've no idea if it has the same filters.
    Last edited by hello_hello; 31st Oct 2023 at 09:57.
    Quote Quote  
  4. Here another variant, maybe not what you need/want:

    Code:
    ffms2("60fps on 60fps timeline.mp4")
    bilinearresize(1280,720) #for demo only
    v1=changefps(30)
    v2=v1.trim(1,0)
    overlay(v1,v2,x=0,opacity=0.5) #change x and opacity to taste
    Image Attached Files
    Quote Quote  
  5. You can try to reinterlace it (60p->30i) and then deinterlace it using a single rate (blending) deinterlacer 30i->30p). Not sure how to do this in VirtualDub.
    Quote Quote  
  6. Or use ConvertFPS... You can't specify half speed directly with it, but could do f. e.:

    ConvertFPS(120)
    SelectEvery(4,1)

    Or 4,2 4,3 4,4... 4,0 should be the original frames.
    I would never do something like this, but you might have your reasons.
    Quote Quote  
  7. Member
    Join Date
    Jun 2022
    Location
    Dublin
    Search Comp PM
    A simple ffmpeg based duration doubling with output at 30 fps, not VirtualDub.

    60fps on 60fps timeline-[CFR]-now 30fps.mp4
    Last edited by JN-; 1st Nov 2023 at 12:14.
    Quote Quote  
  8. One more method is to first increase the frame rate with motion interpolation, then blend pairs of frames together to get the frame rate you want. With AviSynth:

    Code:
    FrameRateConverter(NewNum=240, NewDen=1) # 60 fps to 240 fps
    Merge(SelectEven(),SelectOdd()) # 240 fps to 120 fps
    Merge(SelectEven(),SelectOdd()) # 120 fps to 60 fps
    Merge(SelectEven(),SelectOdd()) # 60 fps to 30 fps
    Image Attached Files
    Quote Quote  



Similar Threads

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