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
+ Reply to Thread
Results 1 to 5 of 5
-
-
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
Rife in vapoursynth should give slightly better results on most scenes, maybe I'll try converting the script -
Rife in vapoursynth should give slightly better results on most scenes, maybe I'll try converting the script
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)
Last edited by Selur; 18th Feb 2022 at 00:54.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
poisondeathray, Selur, Thank you for the smoothness of the video, but unfortunately there are artifacts.
-
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
Similar Threads
-
How to fix unclear video
By satimis in forum LinuxReplies: 16Last Post: 21st Dec 2021, 08:50 -
Fix inverted video
By EricDraven in forum Newbie / General discussionsReplies: 11Last Post: 10th May 2020, 06:05 -
can i fix video quality
By cns00 in forum Video ConversionReplies: 2Last Post: 15th Apr 2020, 11:53 -
How to fix video with low bitrate
By Wobulali in forum Newbie / General discussionsReplies: 1Last Post: 15th Dec 2019, 05:59 -
Demultiplex a DVD to fix freeze audio and video?
By Danilux in forum Newbie / General discussionsReplies: 9Last Post: 1st Mar 2018, 20:43