网上很多关于
ffmpeg (libav)的资料都是N年以前的,而事实上ffmpeg数年来一直在“以时俱进”,因此无论是一些新手,或者号称为老手的人,有时候难免出头痛。。。。。。
为了解决大家的头痛的问题,特列一个贴子,把ffmpeg相关的一些常见的、版本的问题列举出来,供大家参考,同时也请大家一起补充。
1) 不认识guess_format.
解决: #define guess_format av_guess_format
接口不变。
2) 不认识av_alloc_format_context
解决: #define av_alloc_format_context avformat_alloc_output_context
接口调整。
3) 不认识CODEC_TYPE_VIDEO 和 CODEC_TYPE_AUDIO
解决:
#define CODEC_TYPE_VIDEO AVMEDIA_TYPE_VIDEO
#define CODEC_TYPE_AUDIO AVMEDIA_TYPE_AUDIO
4) 不认识audio_resample_init
解决:#define audio_resample_init av_audio_resample_init
接口调整。
5) avcodec_decode_video 到 avcodec_decode_video2接口调整
旧代码:
复制代码
新代码:
复制代码
为了解决大家的头痛的问题,特列一个贴子,把ffmpeg相关的一些常见的、版本的问题列举出来,供大家参考,同时也请大家一起补充。
1) 不认识guess_format.
解决: #define guess_format av_guess_format
接口不变。
2) 不认识av_alloc_format_context
解决: #define av_alloc_format_context avformat_alloc_output_context
接口调整。
3) 不认识CODEC_TYPE_VIDEO 和 CODEC_TYPE_AUDIO
解决:
#define CODEC_TYPE_VIDEO AVMEDIA_TYPE_VIDEO
#define CODEC_TYPE_AUDIO AVMEDIA_TYPE_AUDIO
4) 不认识audio_resample_init
解决:#define audio_resample_init av_audio_resample_init
接口调整。
5) avcodec_decode_video 到 avcodec_decode_video2接口调整
旧代码:
- len = avcodec_decode_video(c, (short *)outbuf, &out_size, inbuf_ptr, size);
- av_init_packet(&pkt);
- pkt.data = (unsigned char*)inbuf_ptr;
- pkt.size = size;
- len = avcodec_decode_video2(c, &tmpFrame, &got_picture, &pkt);