ffmpeg编码avcodec_open2(pCodecCtx, pCodec,NULL)打开失败
弛简 2015-08-19 03:22:11 首先,用于android平台的。
在编码过程中,音频和视频(音频和视频都是从外界获取的,麦克风和摄像头设备)同时进行存放在.mp4中,这个编码流程是?
我的思路是:
音频编码ID是AV_CODEC_ID_AAC,视频编码ID是AV_CODEC_ID_MPEG4,按照一定规格,主要是时间顺序,将音频和视频编码的包AVPacket(通过每一帧编码得到的),写入到.mp4文件中,不知道这样对不对?
我按照这样的方式做,发现一个问题,就是视频编码没有问题,但是音频编码有问题:
pCodec = avcodec_find_encoder(AV_CODEC_ID_AAC); ////这里成功,能够找到
if (!pCodec){
printf("Can not find encoder!\n");
return -1;
}
if (avcodec_open2(pCodecCtx, pCodec,NULL) < 0){ ////这里失败,打开编码器失败
printf("Failed to open encoder!\n");
return -1;
}
就是这样的问题;
在此呢,首先我要确认我这样编码是否有问题?如果可行,为什么打开音频编码器失败呢?
最后说明一点:貌似AV_CODEC_ID_MP3,AC3都是不行的。
还请各位大神路过解释一番,小弟在此先行谢过!!!!