Forum archive - Software for frame by frame edits

http://www.supermediastore.com/



Forum Archive Home -> Restoration -> Software for frame by frame edits



Software for frame by frame edits

thomasj posted 2009 Oct 26 12:46
Assuming I can't do much to repair this video with hardware, I'm considering replacing all of the damaged frames with the frame before or after. Can anyone recommend any good software to do frame by frame cuts and pastes? Any free software?

Reference: http://forum.videohelp.com/topic374737.html

Thank you



thomasj posted 2009 Oct 26 14:27
Ok, I believe VirtualDup's mask frame does what I need it too. It would nice if I had a keyboard shortcut for that, since I have a good number to do. Is there any downside to doing this? I know the video will be somewhat jerky due to the duplicate frames.

Is there a better way?

Also since I'm using Vegas Movie Studio for most of my edits, is there a way to this sort of "masking" there?



redwudz posted 2009 Oct 26 14:37
First you need a format that has every frame as a keyframe, so you can cut anywhere and on individual frames. DV can do that, or lossless codecs like HuffyUV or Lagarith may be better choices. Since you seem to use VD, as good as editor as any for this. :) I just cut out the bad frames. You can duplicate the frame before if you like. You can sometimes speed up finding problem frames with VD by using the 'Scene Scan' buttons. Then go back through frame by frame and see if you got them all. Use the arrow keys on the KB for this. This will be tedious, but it works. :)

VD has a filter, Frame Merger, that can help to blend frames together so there's not such a jump between different frames. Might be worth experimenting with.

Some VD filters here: http://www.thedeemon.com/VirtualDubFilters/



thomasj posted 2009 Oct 26 22:06
Thanks redwudz for your reply. Yes I'm working with DV here. I was thinking that masking the "bad" frames would preserve the sound but help with the video. I was afraid to just delete them. Testing both ways on a short segment show pretty much the same results--with deleting having a lot less keystrokes. Thanks for the suggesting this, but I guess it all depends on the segment in question and how much audio is involved.

Thanks for the practical advise. It helps a lot.



manono posted 2009 Oct 26 22:25
thomasj :
I'm considering replacing all of the damaged frames with the frame before or after. Can anyone recommend any good software to do frame by frame cuts and pastes?

If you'll be reencoding and if you know any AviSynth, then that's the way to go:

FreezeFrame(1000,1001,1001)

That says to replace frame number 1001 with frame number 1002 (AviSynth numbering begins with zero):

http://avisynth.org/mediawiki/FreezeFrame



AlanHK posted 2009 Oct 26 23:21
manono :
FreezeFrame(1000,1001,1001)
That says to replace frame number 1001 with frame number 1002


Actually that replaces 1000 with 1001.
VDub uses the same frame numbering as Avisynth.
Or have I misunderstood?

Also there's an Avisynth plugin, BadFrames that replaces a list of bad frames with adjacent frames or a blend of before and after.



thomasj posted 2009 Oct 27 10:55
Thank you manono and AlanHK, I've been playing around with Avisynth for while now. It's a great tool. I'll definitely take a look at these filters. It seems that it may be more work to enumerate a list of bad frames, but if it turns out better, then it may be worth the effort.

Thanks!



thomasj posted 2009 Oct 27 14:53
Reporting back:

The BadFrames plug-in produced smoother results. It was actually pretty cool the way it blended fields. It does require a good amount of work to list on the bad frame though. I probably try it out on a larger scale.

Thanks again



AlanHK posted 2009 Oct 27 18:06
thomasj :
Reporting back:

The BadFrames plug-in produced smoother results. It was actually pretty cool the way it blended fields. It does require a good amount of work to list on the bad frame though. I probably try it out on a larger scale.

Thanks again


If you're into Avisynth, you should try AvsP.

For this application I'd use its bookmarking (control-B) to mark all the bad frames, then save that as a list and paste it into the BadFrames call.

To do that, save this:
:
filename = avsp.GetSaveFilename(title='Save bookmarks to text file')
f = open(filename, 'w')
for bm in avsp.GetBookmarkList():
    f.write(str(bm)+'\n')
f.close()

as "bookmarklist.py" in AvsP's macros folder, and you will be able to save its bookmarks as a text file.



manono posted 2009 Oct 27 18:52
AlanHK :
Or have I misunderstood?

I don't know. I thought I was pretty clear. And pretty right.



AlanHK posted 2009 Oct 27 19:20
manono :
AlanHK :
Or have I misunderstood?

I don't know. I thought I was pretty clear. And pretty right.


Okay, I didn't want to nitpick, but:

:
FreezeFrame(1000,1001,1001)


actually means "replace frame numbers 1000 to 1001 with frame number 1001"

And if you were converting to counting frames from 1 instead of zero, maybe, but why do that when "frame number" always defined (every app I know anyway) to start from zero? That can only cause confusion.



manono posted 2009 Oct 27 21:41
You were nitpicking before and you're nitpicking now. Start counting frames 1,2,3,4,5... until you get to the one being replaced. Which number will it be again? You knew from the beginning what I meant so why even bring it up, much less make an issue out of it? Feel free to have the last word.

Good going with the BadFrames suggestion, as it seems to suit thomasj's needs.



AlanHK posted 2009 Oct 27 23:05
manono :
You were nitpicking before and you're nitpicking now. Start counting frames 1,2,3,4,5... until you get to the one being replaced. Which number will it be again? You knew from the beginning what I meant so why even bring it up, much less make an issue out of it? Feel free to have the last word..

Okay, then:

Why confuse the subject by introducing a different numbering system, that no one actually uses in practice?

"Frame number" has a specific, unambiguous definition.

You might say "Frame number 1000 (the 1001st frame)" if you really wanted to. But I don't see the point.

Also, technically, your code replaced two frames, though one of them with a copy of itself.

The correct translation of your description "replace frame number 1001 with frame number 1002" is:

:
FreezeFrame(1001,1001,1002)


It's nitpicking, but such ambiguities can cause annoying one-off errors, when one frame flashes out of sequence.



2Bdecided posted 2009 Oct 28 05:33
Is there anything like "badframes", but that replaces the bad frame with a motion compensated / interpolated in-between frame, rather than a simple blend?

Cheers,
David.



Alex_ander posted 2009 Oct 28 06:46
2Bdecided :
Is there anything like "badframes", but that replaces the bad frame with a motion compensated / interpolated in-between frame, rather than a simple blend?

Cheers,
David.


Yes, MFlowInter of MVTools2 plugin.



2Bdecided posted 2009 Oct 28 09:25
MFlowInter is not a replacement for the "badframes" function. Nowhere near.

You'd have to write quite a script (or wrapper function) to get the functionality of "badframes" out of MVTools2. I was wondering if anyone had done this work.

Cheers,
David.



AlanHK posted 2009 Oct 28 10:04
2Bdecided :
MFlowInter is not a replacement for the "badframes" function. Nowhere near.

You'd have to write quite a script (or wrapper function) to get the functionality of "badframes" out of MVTools2. I was wondering if anyone had done this work..


As for a wrapper, see Stickboy's RemapFrames functions.



Alex_ander posted 2009 Oct 28 10:40
2Bdecided :

You'd have to write quite a script (or wrapper function) to get the functionality of "badframes" out of MVTools2. I was wondering if anyone had done this work.


The closest function I've seen was Mug Funky's 'FillDrops' (it used MVFlowInter of the older MVTools), but it needed repeated frames in place of drops for auto-replacement. So it's possible to previously create those dupes (in place of 'bad' frames) with just mentioned RemapFrames plugin (it uses frame numbers mapped in text file), then apply that function. The function itself can be found here:
http://forum.doom9.org/showpost.php?p=753779



thomasj posted 2009 Oct 28 11:09
Thanks everyone. Lots of great things to look into.

AlanHK, I have used AvsP a little, but I wasn't aware of the bookmarking. Great tip there.

As an update to the BadFrames filter, It seems to work best for a frame or so. Probably old news to everyone except for me. I tried it on a longer spot, 6-10 frames. It did a very artificial slow motion "slide" there. Kind of interesting to watch, but not something someone would want in their video.

Great discussion everyone, Thanks.



2Bdecided posted 2009 Oct 28 12:08
Ah, I see - FillDrops is half way there, and quite elegantly simple.

Cheers,
David.




Login/Register to our forum to be able to post here.








DVDFab DVD to DVD and Blu-ray to Blu-ray offers a 20% discount until Nov 22, 2009. More info or download trial!
About   Advertise   Forum Archive   RSS Feeds   Statistics