首页 > 代码库 > 如何强制ffmpeg编码时输出一个关键帧
如何强制ffmpeg编码时输出一个关键帧
http://blog.csdn.net/ashlingr/article/details/7829429
如何强制ffmpeg编码时输出一个关键帧
如何强制ffmpeg编码时输出一个关键帧
AVCodecContext *c //编码器环境句柄 AVFrame* f //需要编码的一帧视频
/*在avcodec.h文件中有这样的定义 #define FF_I_TYPE 1 ///< Intra #define FF_P_TYPE 2 ///< Predicted #define FF_B_TYPE 3 ///< Bi-dir predicted #define FF_S_TYPE 4 ///< S(GMC)-VOP MPEG4 #define FF_SI_TYPE 5 ///< Switching Intra #define FF_SP_TYPE 6 ///< Switching Predicted #define FF_BI_TYPE 7 */
在编码前设置 f->pict_type=FF_I_TYPE; f->key_frame=1; 注:该帧为I帧时,f->pict_type==FF_I_TYPE && f->key_frame==1
然后编码 *outsize = avcodec_encode_video(c, temp, outbuf_size, f);
则编码之后通过如下参数判断是否为关键帧: key_frame=c->coded_frame->key_frame; pict_type=c->coded_frame->pict_type; key_frame==FF_I_TYPE && pict_type==1
参考:http://www.ffmpeg.com.cn/index.php/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。