2012-04-04 15 views
1

未処理のPCMをaacに変換しようとしています。私はffmpegでこれを達成しようとしています。 --cpu = ARMv6の--enable-ASM --target-OS = Linuxベース--disable剥離--enableネオンffmpegネイティブAACを使用して未加工PCMをエンコードするAAC

マイffmepg構成

--enableクロスコンパイル--arch =アーム--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_ 親指 _ -mthumb -Wfatal-errors -Wno-deprecated -marm -march = armv6' --disable-everything --enable-encoder = aac - 使用可能なデコーダ= h264 - 有効 - hwaccels - 無効 - ffmpeg - 無効 - ffplay - 無効 - ffprobe - 無効 - ffserver - 無効 - ネットワーク - 有効 - フィルタ=バッファ - 有効 - フィルタ= 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

答えはlogcatのffmpeg部分にあると思います。 ffmpegライブラリでデバッグレベルのロギングを有効にし、ログをキャプチャしてcodec_openステートメントが失敗した場所を調べる必要があります。

ここにログを入力してください。

0

代わりに、ffmpeg inbuilt aac encoderを使用する代わりに、libfaacを使用してみてください。

まず第一に、アンドロイド用のクロスコンパイルlibfaac。 ffmpegの--extra-CFLAGS

は、コンパイル済みのlibfaacのディレクトリを含めるへのパスを提供します。

--extra-LDFLAGS でコンパイルしlibfaacののlibディレクトリへのパスを提供します。 libfaacで

コンパイルffmpegの再config.sh使用--enable-libfaacをffmpegの中

関連する問題