linux php arm转换mp3,PHP 将微信录音arm格式文件转mp3格式

环境依赖说明:

1、在服务器安装ffmpeg

2、使用ffmpeg -i 命令来转换amr为mp3格式

#php代码

command = "/sbin/ffmpeg -y -i {#amrPath} {#mp3Path} 2>&1";exec(#command, #out, #exitval);

cenos6系统下安装ffmpeg,具体安装步骤如下:

① 首先安装系统编译依赖环境

[root@localhost/]#yum install -y automake autoconf libtool gcc gcc-c++

② 编译所需源码包#yasm:汇编器,新版本的ffmpeg增加了汇编代码

[root@localhost /]#wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

[root@localhost /]#tar -xzvf yasm-1.3.0.tar.gz

[root@localhost /]#cd yasm-1.3.0

[root@localhost /]#./configure

[root@localhost /]#make && make install

#lame:Mp3音频解码

[root@localhost /]#wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

[root@localhost /]#tar -xzvf lame-3.99.5.tar.gz

[root@localhost /]#cd lame-3.99.5

[root@localhost /]#./configure

[root@localhost /]#make && make install

#amr支持

[root@localhost /]#wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz

[root@localhost /]#tar -xzvf opencore-amr-0.1.3.tar.gz

[root@localhost /]#cd opencore-amr-0.1.3

[root@localhost /]#./configure

[root@localhost /]#make && make install

#amrnb支持

[root@localhost /]#wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2

[root@localhost /]#tar -xjvf amrnb-11.0.0.0.tar.bz2

[root@localhost /]#cd amrnb-11.0.0.0

[root@localhost /]#./configure

[root@localhost /]#make && make install

#amrwb支持

[root@localhost /]#wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2

[root@localhost /]#tar -xjvf amrwb-11.0.0.0.tar.bz2

[root@localhost /]#cd amrwb-11.0.0.0

[root@localhost /]#./configure

[root@localhost /]#make && make install

#ffmpeg

[root@localhost /]#wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2

[root@localhost /]#tar -xjvf ffmpeg-2.5.3.tar.bz2

[root@localhost /]#cd ffmpeg-2.5.3

[root@localhost /]#./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared

[root@localhost /]#make && make install

#加载配置#最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功

[root@localhost /]#ldconfig

③ 使用方法

[root@localhost/]#ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr #MP3转换AMR

[root@localhost /]#ffmpeg -i 1.amr 1.mp3 #AMR转换MP3

在安装过程中可能出现的错误如下:

错误1. ffmpeg默认安装目录为"/usr/local/lib",有些64位系统下软件目录则为"/usr/lib64",编译过程中可能会出现

"ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory"等类似的错误,解决办法是建立软链接:

[root@localhost /]#ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0

错误2. 如果出现以下提示:ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory 可以通过如下方式查看ffmpeg的动态链接库哪些没有找到:

[root@localhost /]#ldd `which ffmpeg`

[root@localhost /]#libavdevice.so.54 => not found

libavfilter.so.3 => notfound

libavformat.so.54 => notfound

libavcodec.so.54 => notfound

libswresample.so.0=> notfound

libswscale.so.2 => notfound

libavutil.so.51 => notfound

libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)

libpthread.so.0=> /lib64/libpthread.so.0 (0x00002ab7c100b000)

libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)/lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)#如果类似于上面的输出内容,查找以上类库,会发现全部在/usr/local/lib/下

[root@localhost /]#find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"

[root@localhost /]#/usr/local/lib/libavfilter.so.3.17.100

/usr/local/lib/libavcodec.so.54.59.100

/usr/local/lib/libavdevice.so.54

/usr/local/lib/libavcodec.so.54

/usr/local/lib/libavfilter.so.3

/usr/local/lib/libavdevice.so.54.2.101

#查看链接库配置文件

[root@localhost /]#more /etc/ld.so.conf | grep /usr/local/lib#如果不包含的话,需要编辑此文添加:

[root@localhost /]#vi /etc/ld.so.conf

[root@localhost /]#/usr/local/lib

[root@localhost /]#/usr/local/lib64#运行配置命令

[root@localhost /]#ldconfig

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值