You identify the 1st frame to be replaced, eg. check in avspmod
Enter the values for the 1st 3 entries, in this example it starts at 25 (randomly chosen). So drag a marquee box around the data and drag down the bottom right corner until you reach how far you want to go (you know the total #frames from previewing in avspmod) . Copy & paste that into the relevant section in the .avs script
It's faster if you use gavino's method, and you don't have to figure out how long or how far to go. You only need to identify the 1st frame to be replaced, then adjust the 3 lines
+ Reply to Thread
Results 31 to 44 of 44
-
Last edited by poisondeathray; 20th Aug 2011 at 11:43.
-
-
Thanks Gavino, your method does seem faster.
If I am correct all that needs to be done is to change the second number in the parenthesis. The first number will always be 15 but the second will be "what + 15 = the first frame number there is an error"
Is this correct?
I am getting this error message:
Avisynth open failure:
DeleteEvery: frame offsets must be in range [0, period)
(F:\Nate and Phil's Stuff\Aug. 6th Wedding\GH2 1\DV gavino.avs, line 11) -
You need to change all 3 (they should all read 15,16 assuming 1st bad frame 31) , and all match (you forgot to change line 9)
Compare the syntax to previous example -
-
I see, but doesn't 15,16 do the same thing (except frame 1)
To test, I used
Code:blankclip() showframenumber() selectevery(15,x)
Using "15,16" results in almost the same thing, but without the 1st frame: 16,31,46,61,...
But since you want to start at "31" in this example, wouldn't that be a preferrable result ? (Not that it would make a big difference, since the 1st few frames are usually junk in his case) -
That works with SelectEvery, but DeleteEvery does not allow the offset (here) to be greater than 14 (15-1).
But since you want to start at "31" in this example, wouldn't that be a preferrable result ? (Not that it would make a big difference, since the 1st few frames are usually junk in his case)
If it's a problem, just add the original frame 16 back in again at the end:
...
replace = interpolated.SelectEvery(15, 1) # replacement frames
orig = last
DeleteEvery(15, 1) # delete bad frames
InterleaveEvery(replace, 15, 1) # replace deleted frames
orig.Trim(0, 29) + last.Trim(30, 0) # use original frames 0-29 -
-
I'm not following.
So every parenthesis should be (15,1) but where do I set the offset? -
-
have a look at my script.
I'm tring to find what the bad frame is by using virtualdubmod. I'm working with clip 00186, the same
one I uploaded.
Though sometimes the badframe shows up when previewing the file in virtualdubmod on frame 20,
sometimes frame 23, sometimes frame 22. It's really frustrating. The script doesn't work either
but I believe that is because I can't find the right frame.
Is there another program that I can use to find the where the first bad frame is? And do you have any idea
why it shows up as 20 sometimes, 23 sometimes ect?
What process did you use when finding the first bad frame? -
have a look at my script.
I'm tring to find what the bad frame is by using virtualdubmod. I'm working with clip 00186, the same
one I uploaded.
Though sometimes the badframe shows up when previewing the file in virtualdubmod on frame 20,
sometimes frame 23, sometimes frame 22. It's really frustrating. The script doesn't work either
but I believe that is because I can't find the right frame.
Is there another program that I can use to find the where the first bad frame is? And do you have any idea
why it shows up as 20 sometimes, 23 sometimes ect?
What process did you use when finding the first bad frame?
Maybe you didn't save script changes ?
When you examine the video, use only the 1st line
e.g
FFMpegSource2("video.dv", atrack=-1)
That way it's only the video "as is", no filters.
Once you have identified the 1st "bad" frame and made sure the pattern holds (every 15th frame), then adjust the script, then save it. That is your "new script"
*Editing scripts is alot easier in avspmod than vdubmod. Push f5 for preview
Your current script does not match, currently it's this:
Code:replace = interpolated.SelectEvery(15, 5) # replacement frames DeleteEvery(15, 1) # delete bad frames InterleaveEvery(replace, 15, 5) # replace deleted frames
It should be this if you wanted 15,5:
Code:replace = interpolated.SelectEvery(15, 5) # replacement frames DeleteEvery(15, 5) # delete bad frames InterleaveEvery(replace, 15, 5) # replace deleted frames
The actual values for 00186.dv were 15,6 because "21" was the 1st "bad" frame
Code:replace = interpolated.SelectEvery(15, 6) # replacement frames DeleteEvery(15, 6) # delete bad frames InterleaveEvery(replace, 15, 6) # replace deleted frames
Last edited by poisondeathray; 22nd Aug 2011 at 20:09.
-
Okay I'll try this. The reason I had:
DeleteEvery(15, 1) # delete bad frames
Instead of
DeleteEvery(15, 6) # delete bad frames
was because I got the error message about:
DeleteEvery: frame offsets must be in range [0, period)
But thanks for your suggestion about viewing the video in virtualdubmod or avspmod without any filters applied,
that must have been why I was getting the problems. -
Similar Threads
-
Frame-By-Frame Restored James Bond Films Released
By Soopafresh in forum RestorationReplies: 9Last Post: 27th Apr 2012, 14:09 -
How do I debug/extract i-frame p-frame and b-frame?
By jwbrasil2 in forum ProgrammingReplies: 0Last Post: 20th Nov 2011, 12:24 -
Replace first frame of WMV file?
By HiTechHiTouch in forum Newbie / General discussionsReplies: 2Last Post: 9th Mar 2011, 21:18 -
Play an MTS file frame by frame, displaying timecode or frame number
By SeánB in forum Software PlayingReplies: 5Last Post: 5th Oct 2010, 16:26 -
Advancing/Rewinding Clip Frame by Frame on Windows Movie Maker (Vista)
By ione in forum EditingReplies: 20Last Post: 9th Sep 2008, 22:53