从品牌网站建设到网络营销策划,从策略到执行的一站式服务
提供一种可能解决avformat_find_stream_info耗时问题方案之前,先了解一些基本的ffmpeg的知识点
目前创新互联已为成百上千家的企业提供了网站建设、域名、虚拟主机、网站改版维护、企业网站设计、金塔网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
先看代码
pFormatContext->streams[video_index]->time_base.den = 1200000;
pFormatContext->streams[video_index]->time_base.num = 1;
//avg_frame_rate 获取帧率
pFormatContext->streams[video_index]->avg_frame_rate.den = 1;
pFormatContext->streams[video_index]->avg_frame_rate.num = 25;
pFormatContext->streams[video_index]->r_frame_rate.den = 25;
pFormatContext->streams[video_index]->r_frame_rate.num = 1;
注意到每一个结构体都有一个den和num的成员变量
通过查看声明,了解到上述的结构体其实是这样子的一个类型
/**
* Rational number (pair of numerator and denominator).
*/
typedef struct AVRational
{
int num; ///< Numerator
分子
int den; ///< Denominator 分母
} AVRational;
由于分数表现形式不方便计算,因此提供了上面的一种结构体保存分子和分母,等
需要进行计算的时候,才进行除法运算,ffmpeg提供了如下的模板进行除法运算
/**
* Convert rational to double.
* @param a rational to convert
* @return (double) a
*/
static inline double av_q2d(AVRational a)
{
return a.num / (double) a.den;
}
参考
http://www.jianshu.com/p/66b13b2b2979
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图