Why are there missing frames in the Vegas Pro editing timeline? I found the weirdest thing in Vegas Pro 13. I was trying to verify the exact frames of a generated file, so was looking for a zero number frame to drop it into the timeline. I was surprised to find that two frames in the Vegas Pro timeline are missing. The timeline goes from 00:13:59;29 to 00:14:00;02. There should be a ;00 and ;01 entry there as well, but it's not present. See in the image below, zoomed in so that each vertical line is a frame. The two frames missing are between the blue line.



My first thought was something to do with NTSC 29.97 framerate vs actual 30 framerate. I figured if that's the case, the issue should repeat at regular intervals. I checked between other values and determined that the issue repeats every minute, except at 10 minute marks (it may be more nuanced than that).

How can I make it not do this?



Why, you ask? I edit in Vegas Pro like any other vidiot, but then I use the events window to extract all the timeline data then render in ffmpeg. This means that If I try to target a specific frame, I may actually be off by several frames. This is an issue because some of my process is creating separate video and audio files, but they play simultaneously, so I can't tolerate more than 1 frame off for the lip sync.

My thought is that I need to record in true 30 fps, then everything will fall in line. Is that the only solution? How can I account for this in my ffmpeg scripts? For example, if I see 00:14:00;02 in Vegas Pro, do I need to tell ffmpeg that the actual frame to target is less than that? If I have a 10 hour clip, 2 frames difference every minute adds up to a lot of frames. Almost a minute! I haven't looked closely at any of my renders to see if I notice a subjective lip sync issue.
Vegas is not showing you the actual framerate based measurement. Instead, it is showing you 30 fps Drop Frame Timecode, which exists for compatibility reasons and does have to do with NTSC video.

For purposes of alignment with ffmpeg, switch your display to SS.mmm i.e. fractional seconds rather than SMPTE timecode. No need to change the project framerate.

Right click on one of the times at the top of the timeline and you will see that SMPTE Drop is selected. You can change that to "Time" or "Seconds" for a convention that FFmpeg will naturally understand.