ffmpeg分数的表示形态

提供一种可能解决avformat_find_stream_info耗时问题方案之前,先了解一些基本的ffmpeg的知识点

先看代码


pFormatContext→流(video_index)→time_base.den=1200000;

pFormatContext→流(video_index)→time_base。num=1;

//avg_frame_rate获取帧率

pFormatContext→流(video_index)→avg_frame_rate.den=1;

pFormatContext→流(video_index)→avg_frame_rate。num=25;

pFormatContext→流(video_index)→r_frame_rate.den=25;

pFormatContext→流(video_index)→r_frame_rate。num=1;


注意到每一个结构体都有一个巢穴和num的成员变量

通过查看声明,了解到上述的结构体其实是这样子的一个类型

/* *

, *有理数(双分子和分母)。

, */


typedef struct AVRational

{

,,int num;///& lt;分子

,分子,,

int窝;///& lt;分母分母

,} AVRational;


由于分数表现形式不方便计算,因此提供了上面的一种结构体保存分子和分母,等

需要进行计算的时候,才进行除法运算,ffmpeg提供了如下的模板进行除法运算

/* *

, *理性转化成双。

, * @param合理转换

, * @return(双)

, */


静态内联双av_q2d (AVRational)

{

,,返回一个。num/(双)a.den;

}



参考http://www.jianshu.com/p/66b13b2b2979


ffmpeg分数的表示形态