需求
公司原有文件存储现在要用java进行重构,其中涉及到Android和ios上的音频问题。
Android录音是格式是amr,在电脑上一般是播放不出来的,必须要进行转码。
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>