2012/11/26更新 根据网友反馈,原来的下载链接编译有问题,原因是头文件和库文件的路径没有设置好,已经修改。 下载链接: http://download.csdn.net/detail/ajaxhe/4810984 |
2012/10/25更新 在add_video_stream()中添加 c->cqp = 32;//很关键的参数,不设置的话会导致马赛克,而且它的大小决定着编码的速度和编码后帧的大小 |
ffmpeg版本:0.8
开发环境:VS2008
遇到的错误:
1. Specified sample_fmt is not supported.
[aac @ 000E6E60] Specified sample_fmt is not supported. could not open audio codec |
设置AVCodecContext *c的sample_fmt位,如:
c ->sample_fmt = AV_SAMPLE_FMT_S16 ;
[aac @ 004D6E60] Too many bits per frame requested
could not open audio codec
|
设置AVCodecContext *c的bit_rate位,bit_rate = sample_rate * channels * 2,其中的“2”指的是sample_fmt为16位的缘故,相应的设置如下:
c ->sample_rate = 8000;
c-> channels = 1;
c-> bit_rate = 16000;
遇到的warning:
因为保存的文件时mp4格式,需要设置c->flags的CODEC_FLAG_GLOBAL_HEADER,如下:
// some formats want stream headers to be separate
if(! strcmp( oc-> oformat->