| Getting perfect timecode from MPEG is always a big challenge. While muxed streams such as System MPG or VOB has each proper timecode PTS present, this isn't true for elementary streams. Any professional software will however prefer elementary streams (especially if you use multiple audio). The lack of timecode also prevents from playing elemnetary streams with audio with sync.
In a quick way DVD-lab uses the GOP timecode which is (or should be) present in all mpeg (vob) GOP headers eiteher elementary or muxltiplexed. This is quite OK solution, because the only thing you need the timecode for is adding chapter points. During compilation the correct timecode will be generated in the vob file anyway.
There are however few problems with using GOP timecode:
- it has resolution of 1sec
- could be based on drop frame or non-drop frame (29.97/30 fps)
- may be not correct if the mpeg is a cut or comes from some longer TV capture
- may be missing in rare cases
A chapter points entered on a GOP time base are affected by these above problems.
In most cases this isn't as bad. An usuall error on chapter is +/- 0.5 sec which is quite fine with many home movies (especially if people just add chapters by automatic means). However if the GOP timecode is plain wrong (which isn't that common) - for example a two mpeg streams with different timecode were joined by TV capturing card - then you are not able to add properly the chapters.
Frame Indexing
Tho avoid all these problems and/or for people who needs to be more accurate in chapter points a new way of internal timecode will be added in 1.2.1 called frame indexing. Such timecode is based on the frame number (and the time is calculated from that).
The only problem with this approach is that to create index file from large mpeg takes some time - 5-10 minutes.
In DVD-lab you will have the option to either use the fast but less accurate GOP timecode or index the movie and recalculate chapters on frames.
Few thigs have to be mentioned:
- it doesn't matter when you do the Frame Indexing, before or after you add chapters. Even if the index file is created right before compilation, all chapters which were added before will still get the enhanced frame accuracy.
- once the index file is created, you don't have to do it again for the same mpeg file, it is saved to disc as a small idx file (~200kb)
- the time calculated from frames and the time from GOP may not match exactly and if a GOP was drop frame it will be quite off. This is normal
- the time in preview will be always displayed from GOP
|
All you really need to know
If you don't want to read any further, then all you need to know is this: In order to use Frame-Index you have to check "Create/Use Frame-Index ..." in the Compile window. That's really all.

This option will make sure that the Chapters will be added with frame accuracy and therefore they are not dependent on (sometimes unreliable) GOP timecode. If the Frame-Index is not yet created for the Movie, it will be generated just before the compile process starts and all your chapters will be translated to frames.
|
You can stop just here or read further if you want more information.
1. Movie with an index
A movie which has been indexed will show a Green diamond in the small icon in Assests when loaded. Obviously, a new movie will never had an index.

2. Adding chapters
It doesn't matter if you add chapters with index available or not. DVD-lab is build that way so you can Frame-Index movie anytime without re-creating chapters. So you can add chapters the same way as before and then let DVD-lab create index after that. Once chpaters have frame info they will show a green diamond instead of red chapter point.

While the GOP timecode is in format HH:MM:SS the Frame based timecode is HH:MM:SS:CC where the CC are cents. Also a frame number of the chapter will be shown above in red.
Note: Even if you have index on movie the new chapters will be added in GOP timecode. This is just to speed things up, but you can enable Frame adding right away in properties. But it is a cosmetic option.

3.Indexing the movie
So obviously you don't have the index yet. You can create it manually before compilation, or let compilation automaticaly create it.
Automatic
Do nothing. That's easy. When you go to compile enable Frame-Index Chapters.
Manual:
Right click on the movie and select Chapters-Frame-Index All Chapters

If the index file for this mpeg is not found it will be created:

Then all chapters will be switched to Frame:

When you go to compile you have to enable Frame-Index Chapters as in automatic way.
4. Compilation
If you like to use Frame-Index for chapters you have to enable "Frame-Index Chapters" in the compile window. If you don't enable it a GOP timecode will be used even if you have index created.

Time calculation
Normally the GOP timecode and displayed Frame timecode should be close, but sometimes they may show few seconds apart if the mpeg is drop-frame. This is nothing to worry. The Frame timecode displayed is calculated from the frame number, FPS and pulldown.

Manually adjusting the frame number.
While in most cases the chapter using framecode should play exactly right on the spot where you want it, sometimes, especially if you use automatic chapters some chapter points may play one I-frame early or late than idicated. In GOP timecode you may adjust time lag in +/- 1sec - but this doesn't work for Frame Code. You can either delete the chapterpoint and try to create new one I-frame back or forward or you can also directly adjust the frame inex in the Set Chapter Lag dialog. (an I-frame is usually 15 or 18 frames appart)

|