关于FFmpeg自定义AVCodecContext的参数设置
在使用ffmpeg解码时,常用的流程都是:
avformat_open_input
avformat_find_stream_info
AVFormatContext *fc;
然后通过:fc->streams[videoindex]->codec 获取 AVCodecContext 对象
当然只是解码文件,如果解码实时视频流是,没有文件,需要通过自定义的方法:
AVCodecContext *pCodecCtx = avcodec_alloc_context3(codec);
这样得到的AVCodecContext 对象需要自行设置一些参数,如:
pCodecCtx->codec_id=fc->streams[videoindex]->codec->codec_id;
pCodecCtx->width=1024;//176
pCodecCtx->height=576;
pCodecCtx->pix_fmt=PIX_FMT_YUV420P;
我这段时间研究尝试用自定义的方法,解码播放一些视频文件。。
问题出来了:
使用上面自定义的AVCodecContext 对象,有的文件,比如MP4可以播放,有的比如mkv,flv就不行。。
刚开始研究视频解码,所以也许这个问题很小白,有没有大神指导下,是否参数设置上有遗漏,有什么错误?
本人QQ:446790460 欢迎研究自定义AVCodecContext ,视频加速的朋友一起探讨