VideoHelp Forum




+ Reply to Thread
Results 1 to 5 of 5
  1. Hello.
    I ran into a problem. I downloaded a video from one VOD site. It has a slight stutter during playback.
    The movie was released on DVD NTSC, and the downloaded video has 24 fps.
    Can you please tell me if it can be fixed? 24 fps to 23.976 fps? It would be nice to have an example script.

    Sample: https://forum.videohelp.com/attachment.php?attachmentid=63431&stc=1&d=1645088053
    Image Attached Files
    Quote Quote  
  2. You have dropped and duplicated frames.

    One way is to decimate the duplicates and interpolate (synthesize) the missing frame using motion interpolation. One way is SmoothSkip in avisynth. The problem is artifacts with the generated frames (some frames might look ok, others very bad) . And sometimes it detects between the wrong frame to interpolate (calculates largest difference between 2 frames in a group , the "cycle" value)
    https://github.com/jojje/SmoothSkip

    Code:
    LWLibavVideoSource("sampl3.mkv")
    Crop(0,126,0,-126,true)
    SmoothMotion(cycle=4, dupes=1, skips=1, debug=0)
    
    
    function SmoothMotion(clip last, int "cycle", int "dupes", int "skips", int "debug" ) {
      cycle  = default(cycle,  4)
      dupes  = default(dupes,  1)
      skips  = default(skips,  1)
      debug  = default(debug,  0)
      TDecimate(cycle=cycle, cycleR=dupes, display=(debug == 1))
      super = MSuper()
      bv = MAnalyse(super, overlap=4, isb = true, search=3)
      fv = MAnalyse(super, overlap=4, isb = false, search=3)
      inter = MFlowInter(super, bv, fv, time=50, ml=70)
      SmoothSkip(inter, cycle=(cycle-dupes), create=skips, offset=-1, debug=(debug == 2))
    }
    Code:
    ffmpeg -i script.avs -i sampl3.mkv -map 0:0 -map 1:1 -c:v libx264 -crf 18 -c:a copy smoothskip.mp4
    You can try adjusting the interpolation settings to get slightly better interpolated frames.

    Rife in vapoursynth should give slightly better results on most scenes, maybe I'll try converting the script
    Image Attached Files
    Quote Quote  
  3. Rife in vapoursynth should give slightly better results on most scenes, maybe I'll try converting the script
    That would be interessting, but you would need to write around the mising SmoothSkip plugin.

    for the fun of it I ran crop->filldrops->RIFE to 48fps->sRestore to 23.976
    Code:
    clip = filldrops.FillSingleDrops(clip=clip, thresh=0.0010, method="rife")
    # cropping the video to 1668x828
    clip = core.std.CropRel(clip=clip, left=126, right=126, top=0, bottom=0)
    # adjusting color space from YUV420P8 to RGBS for vsRIFE
    clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, matrix_in_s="709", range_s="limited")
    # adjusting frame count&rate with RIFE
    clip = core.rife.RIFE(clip) # new fps: 48
    # adjusting color space from RGBS to YUV444P16 for vssRestore
    clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="709", range_s="limited")
    # adjusting frame count and rate with sRestore
    clip = havsfunc.srestore(source=clip, frate=23.9760, omode=6, speed=9, thresh=16, mode=2)
    Cu Selur
    Image Attached Files
    Last edited by Selur; 18th Feb 2022 at 00:54.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  4. poisondeathray, Selur, Thank you for the smoothness of the video, but unfortunately there are artifacts.
    Quote Quote  
  5. You can probably get a bit better results when using RIFE TTA + scence change detection, but as soon as you interpolate you usually get artifacts. (smoothskip with rife will probably fair better than filldrops- + RIFE+ sRestore
    (side note: I extended fillDrops to use RIFE with scene change detection)
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  



Similar Threads

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