VideoHelp Forum
+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. Member
    Join Date
    May 2008
    Location
    United States
    Search Comp PM
    Is there an easy way to take a 30fps video clip and make it look like a time lapse?

    I need the output to look like this ~

    http://www.youtube.com/watch?v=ZIqWPohGmmM

    I understand that the best way to do this is with a camera that is taking a picture once per X seconds but in this case I already have a 30 fps video that needs to be converted.
    Quote Quote  
  2. Just about every video editor has the ability to decimate frames and change speed. What type of video do you have? What software do you have? OS?
    Quote Quote  
  3. Member
    Join Date
    May 2008
    Location
    United States
    Search Comp PM
    Original is avchd but I can convert to mp4 easy enough. Win7 for the OS. No editing software other than vdub. Hoping there is an open source solution but if not I can buy something if it is inexpensive.
    Quote Quote  
  4. You could re-encode it while deleting frames and speeding it up accordingly. If you're familiar with AVIsynth:

    AVISource("D:\test.avi").AssumeFPS(120,1)
    LoadPlugin("C:\Program Files\avisynth_plugin\TIVTC.dll")
    TDecimate(cycle=4, cycleR=3)

    The above script would take an AVI (ie a 30fps AVI) and speed it up to 120fps.
    The TDecimate line deletes 3 out of every four frames. Therefore the output frame rate would be 30fps again but the video would go by at 4x the normal speed. Maybe not completely smoothly, but I guess that doesn't matter as you're after a time lapse effect. You could play around with the speed-up and the number of frames being deleted to produce the desired effect and output frame rate.

    If there's audio you'd probably need to resample it to match. 4x the speed in this case.

    The above is very easy if you already use an AVIsynth based GUI and have a little AVIsynth knowledge, but possibly fairly hard if you don't. I'm not sure there's an encoder GUI which would do the same thing for you automatically. If you used a program which creates Avisynth scripts for encoding you'd need to modify the script manually. There may be free video editing software which can do something similar for you, but if there is, someone else will need to suggest it (I don't know).

    Here's a very quick example of what the above method would look like. The input video was 23.976fps, sped up 4x, then three out of four frames were removed while re-encoding.
    Image Attached Files
    Quote Quote  
  5. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    You can do it in Virtualdub, it allows you to decimate frames and control speed.
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  6. In AviSynth You can use SelectEvery(N) to select every Nth frame (discarding the others). For example SelectEvery(10) keeps only every 10th frame. But that also leaves you with 1/10 the frame rate. So followed that with AssumeFPS(30.0) or whatever final frame rate you want in your final video.

    In VirtualDub use Video -> Frame Rate... In the top section, Source Rate Adjustment set the speed you want the video to go. If you want your 30 fps video to run 10 times faster set the rate to 300. Then in the Frame Rate Conversion section select the frame rate of the output file -- 30 fps. That will cause 9 out of 10 frames to be skipped.
    Quote Quote  
  7. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    In VirtualDub use Video -> Frame Rate... In the top section, Source Rate Adjustment set the speed you want the video to go. If you want your 30 fps video to run 10 times faster set the rate to 300. Then in the Frame Rate Conversion section select the frame rate of the output file -- 30 fps. That will cause 9 out of 10 frames to be skipped.
    Exactly, here I sped up a Rhino 10x in Virtualdub......
    Image Attached Thumbnails Click image for larger version

Name:	Rhino.png
Views:	426
Size:	7.7 KB
ID:	27075  

    Image Attached Files
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  8. Member
    Join Date
    May 2008
    Location
    United States
    Search Comp PM
    Is there a tutorial for getting vbub to save mp4 files?
    Quote Quote  
  9. Member
    Join Date
    May 2008
    Location
    United States
    Search Comp PM
    Finally got my codec problem fixed so I can do this with vdub, but the steps I'm taking require two encoding passes which is leading to a quality loss.

    Is there a method to achieve the following without 2 encoding passes?

    Step 1 - Starting with a 30fps vid I increase framerate to 90 and then decimate by 10 which creates a nice timelapse look, but then it drops to 9fps and I need the output to be 30fps for the master edit.

    Step 2 - Open the 9fps file and convert to 30fps and resave.
    Quote Quote  
  10. Originally Posted by zapster View Post
    Is there a method to achieve the following without 2 encoding passes?
    jagabo and racer-x gave you the answer about 17 hours before you asked this question.
    Quote Quote  
  11. If you don't care about having a large intermediate file you can save uncompressed or losslessly compressed from VirtualDub. Then open that video for further processing. There will be no loss of quality in the intermediate file.

    Or you can frame serve from one instance of VirtualDub to another. That will allow you to send processed frames from the first instance to a second, without saving to an intermediate file:

    Run auxsetup.exe (found in VirtualDub's program folder) on your computer once to enable the feature. Then open your video in one instance of VirtualDub and set it up as you did earlier. Select File -> Start Frame Server. When asked for a file name use whatever you want -- I usually just create a file on the Desktop (so it's easy to delete later), something like frameserver.vdr. Then start a second instance of VirtualDub and Open frameserver.vdr (or whatever you called it) as if it was a normal video file. Set the frame rate as desired and save.
    Quote Quote  
  12. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    Originally Posted by zapster View Post
    Finally got my codec problem fixed so I can do this with vdub, but the steps I'm taking require two encoding passes which is leading to a quality loss.

    Is there a method to achieve the following without 2 encoding passes?

    Step 1 - Starting with a 30fps vid I increase framerate to 90 and then decimate by 10 which creates a nice timelapse look, but then it drops to 9fps and I need the output to be 30fps for the master edit.

    Step 2 - Open the 9fps file and convert to 30fps and resave.
    Set Frame Rate to 900 and Convert FPS to 30. That should do it all in one go................
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  13. Originally Posted by racer-x View Post
    Set Frame Rate to 900 and Convert FPS to 30. That should do it all in one go................
    I don't think he want's the smooth look that would give (with a very slow motion source).
    Quote Quote  
  14. Member
    Join Date
    May 2008
    Location
    United States
    Search Comp PM
    Thanks for the ideas. Increasing framerate to 900 and then converting to 30 gives a result that is much too fast. But the uncompressed intermediate step will work, luckily this is a smaller clip.
    Quote Quote  
  15. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    I see, then maybe Avisynth is a better choice. It's easier and can do it in one shot. Here is a similar example of the Rhino:

    Code:
    DirectShowSource("E:\Video\Rhino.ts")
    SelectEvery(10)
    ChangeFPS(24)
    Image Attached Files
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  16. Yes, it's much easier in AviSynth. The equivalent of what he's doing with two passes of VirtualDub is:

    Code:
    SelectEvery(10) # 30 fps to every 10'th frame at 3 fps, no change in running time
    AssumeFPS(9) # speed up from 3 fps to 9 fps, plays 3 times faster than the original
    ChangeFPS(30) # duplicate frames to 30 fps, 3.33 repeats (x3, x3, x4)
    Quote Quote  
  17. Probably racer-x does not aware of this in AviUtl yet:
    Click image for larger version

Name:	aviutlDecimation.PNG
Views:	469
Size:	63.1 KB
ID:	27187

    The Time Control object is under the New media object menu.
    Decimation value as a percentage.
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!