Skipping Frames?

Post Reply
hackedhacker
Joined: Tue Aug 16, 2011 9:08 am
Org Profile

Skipping Frames?

Post by hackedhacker » Mon Dec 19, 2011 6:38 am

So I want to make an AMV of Angel Beats with a slow song. I got everything laid out and I just need this one effect to be done. I know this is straight out of the anime but I want to recreate it.
www.youtube.com/watch?v=OtGB4f0pNCM
So What I notice is I can just take snap shot of those frame I want, put them together. Its perfect but Is there a more automatic way? Since that would be too much work for 1 minute straight not to mention effects will have to be add on all of them unless I merge them which I will. But any suggestion please?

User avatar
Pwolf
Friendly Neighborhood Pwaffle
Joined: Thu May 03, 2001 4:17 pm
Location: Some where in California, I forgot :\
Contact:
Org Profile

Re: Skipping Frames?

Post by Pwolf » Thu Dec 22, 2011 2:51 am

if you had just done it the long way you'd be done by now :P

Like everything else we do, there aren't a whole lot of shortcuts for these kind of things unless you want to try your hand at avisynth and make a script that does it for you but that will probably take more time to do than it would to just do it by hand. You also have more control doing it by hand so thats probably the best way to do it.

SuijinReflx
Joined: Wed Apr 07, 2010 12:34 am
Status: Studying...
Location: Sydney, Australia
Org Profile

Re: Skipping Frames?

Post by SuijinReflx » Sun Jan 08, 2012 3:45 am

Scripting would be far more complex and will probably take longer than the long method. I recommend you just snapshotting since its not that long anyways 1:00 of snapshots will take about 20-30 mins to do.
Mizu

User avatar
Brad
Joined: Wed Dec 20, 2000 9:32 am
Location: Chicago, IL
Contact:
Org Profile

Re: Skipping Frames?

Post by Brad » Thu Jan 26, 2012 11:43 am

I wouldn't say there's a more "automatic" way, but if you want to avoid just pulling individual image files out of a video and want to do it all in the timeline, in whatever editing program you're using, you should be able to add either a "Frame Hold" or "Freeze Frame" to the clip, then just lay them out and animate the opacity/cross-dissolve like normal. This way you're still just working with your normal footage and not having to import a bunch of extra stuff.
Image
Ask Brad an After Effects Question! - Forum - Site

User avatar
mirkosp
The Absolute Mudman
Joined: Mon Apr 24, 2006 6:24 am
Status: (」・ワ・)」(⊃・ワ・)⊃
Location: Gallarate (VA), Italy
Contact:
Org Profile

Re: Skipping Frames?

Post by mirkosp » Fri Jan 27, 2012 12:55 pm

Assuming you have 23.976 animu...

Code: Select all

Selectevery(28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
fadeloop(8,20)
function fadeloop(clip c, int fade, int n)
{
    Assert(n >= 0 && fade >= 1) #preventing infinite loop, or so I hope
    dissolve(c.trim(0,-(n+fade)),c.trim(n+fade,0),fade)
    on = round(last.framerate)-(fade/2)
    n = n+on
    return (n >= c.framecount) ? last : fadeloop(last,fade,n)
}
AviSynth to the rescue, recursion is fun.
Ok, let's comment what we have there. Selectevery should be called before the recursion function, with a matching number of frames and 0s (ie, that's 28 0s there).
This example is based on 8 frames long fades and about 1 second long scenes at 23.976.
Basically, you should match the selectevery with the parameters you call fadeloop (ie, 28 comes from fade+n).
As for fadeloop, you should always call n with a starting value of round(last.framerate)-(fade/2). It's 20 in this specific case => round(23.976)-(8/2) = 24-4 = 20. Of course, this could be automated, but I would need a way to know it's the first iteration of the loop, and I didn't bother thinking of a way, so for the time being, just bear with it, or have avisynth do the math for you (copy the on line outside of the loop and call fadeloop with that). So basically, for lazier peeps:

Code: Select all

Selectevery(28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
fade = 8
on = round(last.framerate)-(fade/2)
fadeloop(fade,on)
function fadeloop(clip c, int fade, int n)
{
    Assert(n >= 0 && fade >= 1) #preventing infinite loop, or so I hope
    dissolve(c.trim(0,-(n+fade)),c.trim(n+fade,0),fade)
    on = round(last.framerate)-(fade/2)
    n = n+on
    return (n >= c.framecount) ? last : fadeloop(last,fade,n)
}
Fuck AFX, we have AviSynth!
Also, this might fuck up with fade of an odd value, so for the sake of not having me to :eff: more, try to only use even values.
Image

cutscorners
Joined: Mon Jan 30, 2012 4:02 am
Org Profile

Re: Skipping Frames?

Post by cutscorners » Tue Jan 31, 2012 1:02 am

What it appears you want is an effect that you drag onto your video and voila, I'm afraid, as far as I know, this is not possible and mirkosp's solution appears to be your best bet for what you are looking for.

I made this tutorial for you on how to do this effect manually...
http://www.youtube.com/watch?v=QDCIg87LlVs

Post Reply

Return to “Effects & Techniques”