将amr,caf转mp3

需求


公司原有文件存储现在要用java进行重构,其中涉及到Android和ios上的音频问题。

  1. Android录音是格式是amr,在电脑上一般是播放不出来的,必须要进行转码。

  2. iPhone录音传上来的是caf,在android上是不能进行播放的。

由于上面的问题,我们要进行文件的转换,另外还有一个需求就是,amr转wav ,这里我们将amr和caf统一转换为map3,另外提供一个接口进行amr2wav的转换。 在网上参考了许多,总结下来还都是调用ffmpeg 进行想着音频的转换。总也来说比较简单。这里时间的关系 ,也不可能去研究底层编解码的东西。


开工

安装ffmpeg

查看当前ffmpeg对mp3的编解码支持情况

    ffmpeg -codecs|grep mp3                                        

     D.A.L. mp3                  MP3 (MPEG audio layer 3) (decoders: mp3 mp3float )
     D.A.L. mp3adu               ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adu mp3adufloat )
     D.A.L. mp3on4               MP3onMP4 (decoders: mp3on4 mp3on4float )



     

问题

  • ffmpeg: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory
      ffmpeg正常安装后执行ffmpeg时出现如下错误:

      解决办法:

      vi /etc/ld.so.conf

      加入:/usr/local/lib

      执行ldconfig
  • ffmpeg -i test.amr test.mp3
    ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory

     <http://www.tjcarroll.org/?p=51>