Comments

johnmeyer wrote on 5/10/2007, 11:28 AM
Virtually all "time lapse" features on camcorders are not time lapse at all, at least not in the traditional sense. Because it is almost impossible to record just a single frame of video (even harder with HDV), what most of these "time lapse features" do is to take a short one to five second video take, stop the camera for some interval of time, and then do the same thing again. Thus, you don't get a single frame at each interval, but multiple frames. Not very useful.

However, there is a way to use this footage to create true timelapse.

I realize that you are new to Vegas, but one of the amazing things about this program is how you can extend its capabilities through the use of scripts. I wrote a script many years ago that is designed to let you put all these individual events on the timeline, and then extract a single frame from each. This gives you real timelapse. Here's the link to that script:

Time Lapse (1 Frame per Event)

You need to sign up (its free) to download. Here's the description of the script as given on that site:

This script creates true time lapse movies from the multiple one-second clips that many camcorders record when put in “time-lapse” mode. It saves only the last frame from each event on the selected video track, and deletes everything else, including the resulting gaps between events.

[Edit] I updated the file on that site to work with Vegas 6 and 7. It will no longer work with Vegas 5.

mike-beazley wrote on 5/11/2007, 10:20 AM
Hi John and thanks for your prompt guidance, I've downloaded the Time Lapse(1 Frame per Event) but unfortunately I can't open it. I keep getting a Syntax error warning Code: 800A03EA, Source: Microsoft JScript compilation error. Even if I can manage to open it, will it give me a smooth time lapse being that the shortest interval between clips on the HVR-V1 is 30 seconds?
johnmeyer wrote on 5/11/2007, 10:59 AM
First, I don't know why you are getting that error. I assume you have the appropriate .NET Framework installed (the Vegas 7 install forces you to do this, unless you chose to cancel the installation). [Edit] Actually, I found out the problem -- see my next post. [End edit]

Second, the script posted at the site I linked to shouldn't give you error messages, but I just realized that it was never updated for Vegas 6 and 7 which changed how the script ActiveTakeOffset command worked. I've uploaded a version that works with Vegas 7 here (link good for seven days):

Time Lapse Script

Finally, this script should give you perfectly smooth timelapse. The smoothness has nothing to do with the interval used. Using a longer interval will make the timelapse go faster, but the smoothness will be perfect, whether you use an interval of hours (to capture flowers growing) or 30 seconds.

Here's the script, for anyone who finds this post after the seven day download has expired, and still wants the script:


/**
*
* The script uses one (or more) frames from each event on the selected video track,
* and deletes everything else. All gaps between events are eliminated,
* resulting in a single smooth movie.
*
* The main use envisioned for this script is the creation of true time
* lapse movies from the multiple one-second clips that many camcorders
* record when put in "time-lapse" mode.
*
* A video track must be selected. If an audio track is selected, nothing happens.
* Only the first selected track is affected. If more than one video track is selected,
* subsequent tracks are ignored.
*
* This script uses the LAST frames in the event on the theory that first frame from
* a time lapse capture may be slightly corrupted from tape startup glitches.
*
* Written By: John Meyer
* Written: October 22, 2003
* Updated for Vegas 7: May 11, 2007
*
**/

import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;


/**
**************************************************************************
* Start of main program *
**************************************************************************
**/

try {

//Change the next line to set the number of frames to keep.
var SaveFrames : Timecode = new Timecode("00:00:00:01"); // Keep 1 frame (edit to keep more frames)
var DeleteTime : double = SaveFrames.ToMilliseconds(); // Convert frames to milliseconds.

//Global declarations
var dStart : Double;
var trackEnum : Enumerator;
var evnt : TrackEvent;

//Use the FindSelectedTrack() function to find the first selected track.

var track = FindSelectedTrack();
var eventEnum = new Enumerator(track.Events);

if (track.IsVideo()) { // Proceed only if selected track is a video track.
TrimEvents(); // Function that "trims" event down to "n" frames
}
Vegas.UpdateUI();

} catch (e) {
MessageBox.Show(e);
}

// End of main program

// ***********************************************************************

// Beginning of functions

/**
**************************************************************************
* This function finds the first selected track *
**************************************************************************
**/

function FindSelectedTrack() : Track {
trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
if (track.Selected) {
return track;
}
trackEnum.moveNext();
}
return null;
}


/**
***************************************************************************
* The following function trims all events on the selected track *
* by "n" (usually 1) frame(s). Only the LAST n frames in the event remain.*
***************************************************************************
**/

function TrimEvents() {

dStart = 0; // Initialize the starting point.

//Go through each event on the track.

while (!eventEnum.atEnd()) {

evnt = TrackEvent(eventEnum.item()); // Get the next event on the timeline.
evnt.Selected = true;
evnt.AdjustStartLength(new Timecode(dStart), evnt.Length, false); // Move event to new location

// (Delete the next line to leave frames at event start, instead of event end.)
evnt.ActiveTake.Offset = (evnt.Length - SaveFrames) + evnt.ActiveTake.Offset;
evnt.AdjustStartLength(new Timecode(dStart), new Timecode(DeleteTime), false); // Adjust event length


dStart = evnt.Start.ToMilliseconds() + DeleteTime; // Next event will start at end of this event.
eventEnum.moveNext(); // Go to next event on this timeline.
}

return null;
}
johnmeyer wrote on 5/11/2007, 11:45 AM
Here are answers to your script error question:

I can't understand script error

and

re: JScripts


riredale wrote on 5/11/2007, 9:54 PM
I think ScenalyzerLive can do a time-lapse conversion of regular video footage. In other words, shoot regular video, then have ScLive pull in 1 frame for every X frames.
johnmeyer wrote on 5/12/2007, 8:44 AM
Scenalyzer can definitely capture timelapse. In fact, if you are at all serious about doing timelapse, this is the way to go. You just hook up the camera to a computer/laptop running Scenalyzer, without any tape in the camera, and set the timelapse mode. The beauty of this approach is that you can set any timelapse interval you wish, from one frame captured for every two frames (50% normal speed) to one frame captured every billion frames (one frame per lifetime). No wear and tear on the camera, and the resulting file is gorgeous. I can post a timelapse I did a few years back of fog retreating from the valley below where I live. It's just like you see on the weather channel.

I am not aware of any way that Scenalyzer can do anything with a tape that has already been captured, like the one you have. I doubt very much that it would know how to deal with it, although it can definitely convert a single file into multiple files, based on timecode changes. Thus, if you captured your tape as a single file, and wanted to cut it into multiple files in order to run my script (and the script requires that each scene be its own event), then Scenalyzer can easily do that.

mike-beazley wrote on 5/13/2007, 3:27 AM
My thanks to both johnmeyer and riredale for puting me in touch with Scenalyzer. I have downloaded the trial version and I'm most pleased with the result and will certainly buy the full version.
Having been a stills (film) photographer all my life and only dabbled with video from time to time, it is only in the last two years that I have played with NLE using Adobe Premier Elements 1. Armed now with my HVR-V1 and Vegas 7, I would be glad to know if there are any books out there specific to Vegas 7 that I can immerse myself in, I still find it more comfortable learning from a book!
My thanks again and thanks also for the forum.
JJKizak wrote on 5/13/2007, 5:50 AM
Can Scenalyzer run on the same machine as V7 & Cineform without messing with it?
JJK
Tattoo wrote on 5/13/2007, 6:05 AM
You can also do this with digital still cameras, which would have the advantages of better resolution and not tying up your video camera for extended periods of time (if you're trying to do multi-day time lapse).

A buddy of mine used a free program he downloaded from the Canon website to control his Canon camera via the USB connection. His camera was nothing special, but the results looked great. I imagine that there are other "controller" programs out there for other still cameras. And did I mention it was free? ...

riredale wrote on 5/13/2007, 9:59 AM
JJKizak:

Yes.

I only wish the developer would do something similar for HDV, but someone here mentioned he has stated he wouldn't.
johnmeyer wrote on 5/13/2007, 10:24 AM
Yes, Scenalyzer only works with DV, not HDV.
DGrob wrote on 5/14/2007, 3:16 PM
My Sony A1U will use the photo application to capture a 1920x1080 stills at intervals ranging from one minute up. I can then import the image sequence as per normal for extremely slowed-motion, i.e. clouds over the mountains, dawn to dusk, et al. Perhaps your camcorder offers the same option?

Darryl
johnmeyer wrote on 5/14/2007, 4:35 PM
Perhaps your camcorder offers the same option?

Not my FX1. No still photo; no memory stick; no individual frame output.
alltheseworlds wrote on 5/14/2007, 6:11 PM
Still cameras are decisively better than video cameras at time lapse. It's rare that a still camera can't do HD size pictures !