Hello,
I wanted to know if it is possible to detect and fix a video that in some scenes plays slowly.
I have tried to solve the problem by re-encoding the video but it did not solve it.
The video data is:
mkvmerge v34.0.0 ('Sight and Seen') 64-bit, libebml v1.3.7 + libmatroska v1.5.0, V_MPEG4 / ISO / AVC, 25,000 FPS.
Thanks a lot.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 14 of 14
Thread
-
-
It depends on why it's playing slowly
How are you playing it back ? What hardware or software player ?
Is it a hardware issue ? Maybe your computer is too old/slow? Try another player, or other computer, or other faster hardware . If you're using HW acceleration, try disabling it. Is it a driver issue ? Try updating drivers. ie. Rule out a playback issue first
Is the video the issue ? Was it not produced correctly ? is it a timestamp issue? or actual frames duplicated ?
If you investigated and still don't know, post an original cut sample of the video (e.g. you can use mkvtoolnix) -
The video is part of a series of 39 episodes, the one with problems is chapter 27, all the previous ones are reproduced correctly.
The problem gives me it in the same scene in both VLC and MPC-HC.
Hardware is an Intel Core I5-7400 3.00GHZ, 4096MB RAM.
Attached is a fragment of the video in which you can see the slowness between seconds 14 and 18. -
Didn't slow down for me.
I think,therefore i am a hamster. -
I upload the same scene from another file and what I see in the latter is that the scene is "cleaner", without jumps than if I saw in the first file I sent.
In this file the scene between 34 and 42 seconds is correct. In the previous one, I see the same scene with small jumps. -
-
I didn't see any duplicate frames
There are abundant blended frames, but both versions have them, but slightly different blend phases . They play about the same in several media players for me
Describe what you mean by "plays slowly" -
-
Yes 414 is a partial duplicate of 413; but there is some additional ghosting in 414
If that' s what he is referring to, there is no way that would be "automatically" detected correctly or accurately. You'd need something closer to a true duplicate without the added ghosting, otherwise you'd get too many false positives in other scenes with low motion
Otherwise, there is good old manual identification and interpolation scripts
Code:LWLibavVideoSource("sceneSlow.mkv") RX(414,1) function RX(clip Source, int N, int X) { # N is number of the 1st frame in Source that needs replacing. # X is total number of frames to replace #e.g. RX(101, 5) would replace 101,102,103,104,105 , by using 100 and 106 as reference points for mflowfps interpolation start=Source.trim(N-1,-1) #one good frame before, used for interpolation reference point end=Source.trim(N+X,-1) #one good frame after, used for interpolation reference point start+end AssumeFPS(1) #temporarily FPS=1 to use mflowfps super = MSuper() backward_vec = MAnalyse(super, isb = true) forward_vec = MAnalyse(super, isb = false) MFlowFps(super, backward_vec, forward_vec, blend=false, num=X+1, den=1) #num=X+1 AssumeFPS(FrameRate(Source)) #return back to normal source framerate for joining Trim(1, framecount-1) #trim ends, leaving replacement frames Source.trim(0,-N) ++ last ++ Source.trim(N+X+1,0) }
-
-
I don't know if it's the "best" way... but if that's what you're referring to it's the most accurate for the identification stage. Manual ID is always the most accurate, but can be tedious. If you have other sections that are clear duplicates (I doubt it , given the blend cycle characteristics), then everything could be automatic because there are "automatic" scripts that replace 1 duplicate automatically according to a threshold value. e.g. "filldrops" and their variants
That interpolation is a synthesized "in between frame" using motion vectors. So if 414 is flagged, it's calculated from 413 and 415. It's not perfect; there can be blobby edge artifacts, sometimes severe and distracting, but sometimes it's "good enough"
That was done in avisynth. You'd have to go frame by frame (you can view in avspmod, or vdub2) to find out which frames you want replaced and enter them in the script. That RX function is written as framenumber, and number of frames, more than one frame in a row can be interpolated over
There are duplicate frame detection scripts that might help you identify areas, but what you have really isn't a duplicate frame (I mean mathematically for "automatic" calculations) . It's a few % off. You're going to get a lot of false positives in low motion scenesLast edited by poisondeathray; 8th Nov 2020 at 21:48.
-
Attached is a dedup 1st pass log file . It's a duplicate detector, but only available as x86. You can run it through mp_pipeline in avisynth x64. But there is a bit of a learning curve for avisynth
So you might be able to use that to help guide you and you decide if you want to fix the "duplicates" or not
frm 413: diff from frm 414 = 2.7975% at (352,352)
frm 525: diff from frm 526 = 1.5475% at (352,288)
Low % values indicate small differences or very similar frames , or "duplicates"
But some of the entries are <3% but clearly not "duplicates", because of low motion, so they are false positives
Similar Threads
-
Parts of a logo not showing up in video
By tpapictures in forum EditingReplies: 8Last Post: 25th Nov 2018, 09:20 -
play parts of a video in slow motion in playlist
By cpliu in forum Software PlayingReplies: 1Last Post: 5th Mar 2018, 00:03 -
Editing parts of a video without re-encoding it
By Ferden in forum Newbie / General discussionsReplies: 32Last Post: 21st Aug 2017, 14:15 -
Program to sync audio with scenes from video.
By lgblublu in forum AudioReplies: 2Last Post: 28th Dec 2016, 09:20 -
how to Cut some parts from video
By Aashik Alam in forum EditingReplies: 6Last Post: 12th Nov 2015, 09:35