将AVS audio加入到ffmpeg中

在http://wiki.multimedia.cx/index.php?title=FFmpeg_codec_howto中,

已有详细的添加步骤,当然首先你必须将AV3做成一个可以在linux下编译的库函数。

但是即便如此,仍然还是有一些问题存在,记录如下:

1.编译过程中,会报一些函数重复定义。主要是因为所有的音频编码的过程都基本相似,

  有一些函数名难免重复,因为我的ffmpeg库中加入了libfaac,所以av3和faac中有一

  些函数重名,会导致最后ffmoeg的编译出错。解决办法就是对av3的这些重名函数前面

  加上av3.,

2.编译通过了,之后可以用ffmpeg.exe来验证一下是否能生成av3.结果报“Unable to find a

  suitable output format for av3”,经过仔细查找代码,发现对输出格式的支持要在avformat

  中添加mux。

  添加完成后,命令行可以识别了。

3.执行之后报不能找到libav3的错,通过跟踪代码,发现libav3_encoder的encode是null,仔细检

  查后发现,av3enc被定义成了decode的类型。修改之。问题不在出现。

4.再次执行后,执行到filterbank()的时候,报错,说地址是0.这个函数声明的头文件是在mdct.h中,

  猜想会不会是有重名的头文件,只是av3中的头没有编译。查找只有av3中有这个头文件。再次怀疑

  函数重名,果然,faac中也有同名的函数。像1中一样修改,问题不再出现。

你可能感兴趣的:(linux,null,audio,output,Codec)