我正在尝试将原始PCM转换为aac。所以我试图通过ffmpeg实现它。
我的ffmepg配置
- 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
任何想法?
答案 0 :(得分:0)
我认为答案将出现在logcat的ffmpeg部分。您应该在ffmpeg库中启用调试级别日志记录并捕获日志以找出codec_open语句失败的位置。
在这里提供日志。
答案 1 :(得分:0)
尝试使用libfaac而不是使用ffmpeg内置的aac编码器。
首先交叉编译libfaac for android。
- extra-ldflags 提供了已编译的libfaac的 lib 目录的路径。
config.sh
中使用 - enable-libfaac
使用libfaac再次编译ffmpeg。