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?
		
			+ Reply to Thread
			
		
		
		
			
	
	
				Results 1 to 3 of 3
			
		- 
	
- 
	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 avisynthBy Valit in forum Newbie / General discussionsReplies: 2Last Post: 13th Sep 2022, 11:58
- 
  Webcam record frames missingBy 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 clipBy Msuix in forum EditingReplies: 2Last Post: 11th May 2021, 16:41
- 
  Detect Stray Frames in BRDBy 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


 
		
		 View Profile
				View Profile
			 View Forum Posts
				View Forum Posts
			 Private Message
				Private Message
			 
 
			
			
 Quote
 Quote