Ffmpeg libavcodec';s AVRational vs 29.9 fps

Ffmpeg libavcodec';s AVRational vs 29.9 fps,ffmpeg,libavcodec,Ffmpeg,Libavcodec,因此,AVCodecContext结构有一个很好的小成员,名为time_base,用于在编码视频时表示每秒帧数,这就是我正在做的。时基是一种由分子(num)和分母(den)组成的理性结构。我不擅长数学,所以我能想到的29.9的唯一有理数是29和9/10,这是行不通的。我应该用什么填充num和den p、 答案不是299/10,嗯,这是个棘手的问题。根据这一点,NTSC/30p的帧率是100130000,如果你指的是彩色NTSC帧率,它实际上是60/1.001/2(~29.970029970029

因此,AVCodecContext结构有一个很好的小成员,名为time_base,用于在编码视频时表示每秒帧数,这就是我正在做的。时基是一种由分子(num)和分母(den)组成的理性结构。我不擅长数学,所以我能想到的29.9的唯一有理数是29和9/10,这是行不通的。我应该用什么填充num和den


p、 答案不是299/10,嗯,这是个棘手的问题。根据这一点,NTSC/30p的帧率是100130000,如果你指的是彩色NTSC帧率,它实际上是
60/1.001/2
~29.97002997002997
)。“每秒29.97帧”的约定是常见的,但它只是一种估计。因此,正如您已经指出的,
{100130000}
时基(即帧率的倒数)对于NTSC是正确的

更多信息(包括奇怪费率的理由):