在ffmpeg官网下载源码,
tar
-xjvf
ffmpeg-3.2.2.tar.bz2
cd
ffmpeg-3.2.2
.
/configure
make
make
install
安装的时候遇到需要的两个组件yasm和lame
在各自官网下载源码:
tar
-xzvf yasm-1.3.0.
tar
.gz
cd
yasm-1.3.0
.
/configure
make
make
install
tar
-xzvf lame-3.99.5.
tar
.gz
cd
lame-3.99.5
.
/configure
make
make
install
ffmpeg -i 1.amr 1.mp3
#AMR转换MP3
ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory
查看所有动态链接库
ldd `
which
ffmpeg`
libavfilter.so.6 => not found
libavformat.so.57 => not found
libavcodec.so.57 => not found
libswresample.so.2 => not found
libswscale.so.4 => not found
查找以上所有类库
find
/
|
grep
-E
"libavdevice.so.57|libavfilter.so.6|libavformat.so.57|libavcodec.so.57|libswresample.so.2|libswscale.so.4 "
/home/ffmpeg-3.2.2/libswresample/libswresample.so.2
/home/ffmpeg-3.2.2/libavfilter/libavfilter.so.6
/home/ffmpeg-3.2.2/libavformat/libavformat.so.57
/home/ffmpeg-3.2.2/libavcodec/libavcodec.so.57
查看链接库配置文件
more
/etc/ld
.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/ssl/lib
发现没有以上的目录在里面加入
/home/ffmpeg-3.2.2/libswscale
/home/ffmpeg-3.2.2/libavutil
/home/ffmpeg-3.2.2/libavdevice
/home/ffmpeg-3.2.2/libswresample
/home/ffmpeg-3.2.2/libavformat
/home/ffmpeg-3.2.2/libavcodec
/home/ffmpeg-3.2.2/libavfilter
在php中执行
$amr=$v['AudioFiles'];
$mp3=str_replace(".amr", ".mp3", $amr);
if(!file_exists(".".$mp3)){
$command = "/usr/local/bin/ffmpeg -i .$amr .$mp3";
system($command,$error);
}
执行的过程中出现126错误,需要修改链接库的用户组
chown -R www:www /home/ffmpeg-3.2.2