1

I am trying to convert raw PCM to aac .So i am trying to achieve it through ffmpeg.

My ffmepg configuration

--enable-cross-compile --arch=arm --cpu=armv6 --enable-asm --target-os=linux --disable-stripping --enable-neon --enable-version3 --disable-shared --enable-static --enable-gpl --enable-memalign-hack --cc=arm-linux-androideabi-gcc --ld=arm-linux-androideabi-ld --extra-cflags='-fPIC -DANDROID -D_thumb_ -mthumb -Wfatal-errors -Wno-deprecated -marm -march=armv6 ' --disable-everything --enable-encoder=aac --enable-decoder=h264 --enable-hwaccels --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-network --enable-filter=buffer --enable-filter=buffersink --disable-demuxer=v4l --disable-demuxer=v4l2 --disable-indev=v4l --disable-indev=v4l2

avcodec_find_encoder(CODEC_ID_AAC)  find's the AAC encoder succesfully.

audio_context= avcodec_alloc_context()
avcodec_open(audio_context, audio_encoder)  failed to open aac 

any idea?

4

2 回答 2

0

尝试使用 libfaac,而不是使用 ffmpeg 内置 aac 编码器。

首先为android交叉编译libfaac。

在 ffmpeg --extra-cflags中提供编译的 libfaac包含目录的路径。

--extra-ldflags 中提供编译后的 libfaac 的lib目录的路径。

在 ffmpeg 中config.sh使用--enable-libfaac

使用 libfaac 再次编译 ffmpeg。

于 2012-04-10T10:32:39.180 回答
0

我认为答案将在 logcat 的 ffmpeg 部分。您应该在 ffmpeg 库中打开调试级别日志记录并捕获日志以找出 codec_open 语句失败的位置。

在此处提供日志。

于 2012-04-06T15:40:10.277 回答