FORUMS: list search recent posts

Obtain exact frame rate from rounded frame rate

COW Forums : FFmpeg

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
Felipe Garcia
Obtain exact frame rate from rounded frame rate
on Mar 20, 2012 at 10:19:10 am

Hi,

In http://forums.creativecow.net/thread/291/140, it is stated that it is important to employ the exact value of the frame rate, and from a video having these properties:
Stream #0.1(eng): Video: h264, yuv420p, 1920x1080, 8136 kb/s, 22.58 fps, 23.98 tbr, 2997 tbn, 5994 tbc

it is indicated that one should be careful of rounding errors using 23.98. (It is actually 23.976 which is 30/1.001/1.25).

Where do the values 1.001 and 1.25 come from?

Than you very much in advance!


Return to posts index

stephen dixon
Re: Obtain exact frame rate from rounded frame rate
on Mar 21, 2012 at 11:35:36 am

The 1.25 is the conversion from 30 to 24 fps, and the 1.001 comes from the National Television Standards Committee in 1953, when they standardised the NTSC color system, used in some obscure parts of the world.

The reason according to wikipedia:
To reduce the visibility of interference between the chrominance signal and FM sound carrier required a slight reduction of the frame rate from 30 frames per second to 30/1.001 (approximately 29.97) frames per second, and changing the line frequency from 15,750 Hz to 15,750/1.001 Hz (approximately 15,734.26 Hz).


Basically it's a fix for an analogue broadcast problem that is probably only of importance if you want your video to comply with the analogue NTSC standard.


Return to posts index

Felipe Garcia
Re: Obtain exact frame rate from rounded frame rate
on Mar 21, 2012 at 2:39:05 pm

Thanks for your detailed reply, Stephen!

I see these values relate to a very specific case related to solving interference issues of the analog broadcast TV signal.

Is there then a general way to obtain the exact frame rate from the rounded frame rate obtained from ffmpeg?

The background of my question is that I tend if possible to maintain the frame rate of the input to avoid extra processing. However, my usual approach to achieve it (i.e.leaving the frame rate unset) led to some problems when trying to encode with two passes (to match a desired bitrate) with some input files having some problematic encoding information of the frame rate, and I got at the start of the second pass a time mismatch error message. In order to solve this isssue I have to specify the value of the frame rate, and, as mentioned, I would rather keep the frame rate of the input.

In the thread I mentioned in my first post (there is by the way by mistake a comma at the end of the link, it should be http://forums.creativecow.net/thread/291/140 ) it is however indicated that the value of the tbr parameter in ffmpeg is rather reliable, but is rounded to a two decimal number. Is there a generic manner to derive the exact value to use for encoding?

Thanks again in advance!


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2017 CreativeCOW.net All Rights Reserved
[TOP]