Scene detection script

johnmeyer wrote on 6/3/2003, 1:39 PM
I want to make sure I'm not missing something.

I wanted to create a script that would split events based on a discontinuity in the date/time timecode on a DV capture. My goal was to create a scene detection script that would allow me to capture DV as one file, but still have the power that Vegas provides of moving, rearranging, fading, dissolving, etc. between separate scenes.

I was going to walk each event one frame at a time and look for changes in the tape timecode of more than one frame, then split the event at this point. However, it looks like you can only get the tape timecode (the one that has the original date and time of day when the tape was shot) from the "media" object, and from that you can only get TimeCodeIn and TimeCodeOut.

Thus, it is my conclusion that there is no way get the exact media time of day from the current location within an event.

Is this true? If so, please put it on a list for a future release. I have found that Vegas bogs down if you insert hundreds of individual clips, and it is also sometimes difficult to manage so many files. Having a single file, and then letting Vegas do the scene detection and splitting would be far cleaner. Maybe I'm just still brain dead from having learned on Pinnacle products where they capture in one file and then use internal markers to keep track of scenes.

Comments

SonyPJM wrote on 6/3/2003, 2:29 PM

This is true... I've added your request to my task list... although
I'm not sure what the best solution will be. Generally I believe (but
with a few exceptions) scripts should not have to step through a
project frame by frame.

VidCap is able to detect DV scene changes (timecode discontinuities)
but I believe it will only split the stream in to multiple
files. Perhaps if it were able to add markers and if the scripting
API gave you access to the media markers, you'd be able to do what you
need.
johnmeyer wrote on 6/3/2003, 2:41 PM
SonicPM,

Thanks for the quick reply.

Another unreleated reason for wanting to access the DV timecode information is to be able to feed it to an overlay. Old camcorders used to put the date and time on the screen and burn it into the tape permanently. DV embeds this information into each frame of the tape, and when you play back from the tape, you can press a button on the remote and temporarily display this information, then turn it back off. This is obviously a much better approach than the old analog camcorder approach.

However, once you have rendered/burned a project to a DVD, this embedded DV information is lost forever. Therefore, if you want to have a record of the exact date and time in a particular scene, you have to explicitly put it in a title overlay. Two problems with this. First, it takes some amount of time to add the overlay, and then type in the information. Second, when working in Vegas -- since it doesn't provide this information for each frame of video -- you have to get the start DV date/time timecode from the media bin, and then add the frame offset from the beginning of the media to the current cursor location. Yeech. This is therefore another reason for wanting to access the DV date and time information, frame by frame, from within Vegas, either via a script or via the Vegas GUI.