I'm a software developer oriented at video programming. I mostly have knowledge about PAL environments where everything is integer accurate and easy to comprehend. However, I'm working on a project where I have to move into the vague world of NTSC video and thus need some advice how things work there :)
My question is about how the frame rate relates to time.. Here is an example:
35 s of video in 25 fps timebase corresponds to exactly 875 number of frames (35 * 25)
35 s of video in 29.97 fps timebase corresponds to the fractional 1048.95 number of frames (35 * 29.97)
As seen, for the 29.97 fps timebase the number of frames is not even.. How does one relate to this if someone specifies exactly 35 s of video? Obviously the exact number of frames does not exist and my guess is that the number of frames has to be rounded to an integer. In my example above, this would result in 35.0016 s if rounding the number of frames upwards to 1049, or 34.9683 s if rounding downwards to 1048 number of frames. Is there any common practice for this? Should one always round in a specific direction (upwards)?
One frame more or less could seem like a small problem, but in some environments (broadcast in this case), it's important to use the exact number of frames.
Also, does anyone know how video duration is commonly specified, preferably in a production enviroment? Should I use the fractional number 29.97 for calculations, or does people calculate using 30 fps timebase? Do people involve timecode to specify the length of video? That seems a bit unnecessary..
Does anyone have any experience from similar problems?
Lot's of question, hope someone can answer them.