提供一种可能解决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