androidffmpegamr

Compile ffmpeg with AMR decoding


I'm trying to compile ffmpeg for Android to convert amr files to wav. So I ran:

./configure --help |grep arm

and I'm getting:

--enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]

So for decoding amr I think I should use --enable-libopencore-amrwb in my configure script, right? But when I add it to my configure script, I get:

ERROR: libopencore_amrwb not found

What should I do? Should I download opencore-amr library and put source code anywhere? Or there is other way to get amr decoding in ffmpeg?


Solution

  • External libraries

    External library support requires the external library as a dependency. So its headers and any other required files must be available during ffmpeg compilation.

    Native decoders exist

    However, FFmpeg has native support for decoding AMR-WB and AMR-NB, so you probably won't need these external libraries unless they offer features not present in the native decoders.

    $ ffmpeg -codecs | grep -i amr
     D..... = Decoding supported
     ..A... = Audio codec
     ....L. = Lossy compression
     -------
     D.A.L. amr_nb               AMR-NB (Adaptive Multi-Rate NarrowBand) (decoders:amrnb )
     D.A.L. amr_wb               AMR-WB (Adaptive Multi-Rate WideBand) (decoders: amrwb )