I need a list of missing frames from a video. I tried:
WriteFileIf(last, "D:\list.txt", "YDifferenceFromPrevious>3", "current_frame" )
It works, but not very well. I found a better functiom here, thanks to johnmeyer:
function ShowMetrics (clip c)
{
fixed=source.ScriptClip("Subtitle(String(
\ (( (YDifferenceFromPrevious(selectevery(source, 1, 2)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, 3)) :
\ YDifferenceFromPrevious(selectevery(source, 1, 2)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, 1)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, 2)) :
\ YDifferenceFromPrevious(selectevery(source, 1, 1)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, -1)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, -2)) :
\ YDifferenceFromPrevious(selectevery(source, 1, -1)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, -2)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, -3)) :
\ YDifferenceFromPrevious(selectevery(source, 1, -2)) )
\ )/4) /
\ (YDifferenceFromPrevious(source) + 0.01)
\ ))")
return fixed
}
global source=AVISource("E:\fs.avi").ConvertToYV12.killau dio()
How can I modify it to output to a text file instead of subtitles?
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 3 of 3
Thread
-
-
Here is a link to the script I wrote:
Script for reliably detecting dropped frames
If you prefer writing your own script, you may find some additional ideas in this similar script:
Finding individual "bad" frames in video; save frame number; or repair
This one shows you how to save the frame numbers to a text file. -
Thank you johnmeyer for everything you wrote over the years on the forums.
I have read many of your excellent posts, thank you very much.
I would love a motion estimation detection method for missing frames.
I expect some professional software is using something like that,
I just did not find it yet.
I tried to modify the ShowMetrics function:
WriteFileIf(source, "D:\list.txt", "(
\ (( (YDifferenceFromPrevious(selectevery(source, 1, 2)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, 3)) :
\ YDifferenceFromPrevious(selectevery(source, 1, 2)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, 1)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, 2)) :
\ YDifferenceFromPrevious(selectevery(source, 1, 1)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, -1)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, -2)) :
\ YDifferenceFromPrevious(selectevery(source, 1, -1)) )
\ +
\ (YDifferenceFromPrevious(selectevery(source, 1, -2)) < 0.3 ?
\ YDifferenceFromPrevious(selectevery(source, 1, -3)) :
\ YDifferenceFromPrevious(selectevery(source, 1, -2)) )
\ )/4) /
\ (YDifferenceFromPrevious(source) + 0.01)
\ )", "current_frame" )
But it is not good, it writes every frame number to file.
Sadly, I am not a programmer and I am out of ideas.
Any help vould be greatly appreciated.
Similar Threads
-
How to load a video extracted from rar with missing parts in avisynth
By Valit in forum Newbie / General discussionsReplies: 2Last Post: 13th Sep 2022, 11:58 -
Webcam record frames missing
By Jama85 in forum Newbie / General discussionsReplies: 5Last Post: 27th Oct 2021, 12:55 -
Avisynth+ and grabbing x frames every y frames? I'd like to sample a clip
By Msuix in forum EditingReplies: 2Last Post: 11th May 2021, 16:41 -
Detect Stray Frames in BRD
By ricardisimo in forum Authoring (Blu-ray)Replies: 0Last Post: 25th Nov 2020, 13:52 -
AviSynth script for SD home movie conversions: Am I missing anything major?
By Christina in forum EditingReplies: 13Last Post: 17th Sep 2020, 23:45