如果你在转换mp4、3gp等一些文件时出现以下提示,转换不了,
FAAD library: cannot resolve faacDecGetErrorMessage in libfaad.so.0!
怎么办?
解决办法如下:
引用:
That means ffmpeg could not load faacDecGetErrorMessage symbol from libfaad.so.0 library. First you should comfirm that libfaad.so.0 library is located in the path which are defined by the LD_LIBRARY_PATH environment variable. Second, this problem may caused by the changes of faad2 upgrading. You can edit this file libavcodec/faad.c:
line 222:
do { static const char* n = “faacDec” #a; \
Modify it as below:
do { static const char* n = “NeAACDec” #a; \
出处在:
http://blog.kingtch.com/2007/04/ ... sage-in-ffmpeg.html
翻译一下:
ffmpeg不能正确加载libfaad.so.0库,首先请设置正确LD_LIBRARY_PATH环境,让它能够找到这个库文件(我是用export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/opt/lib:/lib 设置的),
然后,请这个问题可能是faad2做了升级等改动,你可以编辑libavcodec/faad.c这个文件(现在是libavcodec/libfaad.c ):
第222行(现在是221行):
do { static const char* n = “faacDec” #a; \
编辑这一行为:
do { static const char* n = “NeAACDec” #a; \
好了,重新编译ffmpeg吧,你可以解决这个问题了!