1. 首先安装系统基础环境 RHEL & CentOS 系列:yum install-y automake autoconf libtool gcc gcc-c++ Debian & Ubuntu 系列:apt-getinstall automake autoconf libtool gcc gcc-c++
2. 下载最新的FFMpeg源码包FFMpeg官方下载地址:http://ffmpeg.org/download.html。
http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2
3. 编译所需源码包从各个官方地址下载上述五种源码包,为了保证兼容最新版本的ffmpeg,请务必也下载最新版本的源码:
yasm:http://yasm.tortall.net/Download.html
http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
lame:http://lame.sourceforge.net/download.php
http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
OenCoreAMR:http://sourceforge.net/projects/opencore-amr
http://cznic.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.3.tar.gz
AmrNB& AmrWB:http://www.penguin.cz/~utx/amr
#tar xzvf *.tar.gz #tar xjvf *.tar.bz2 tar zxvf lame-3.99.5.tar.gz tar zxvf opencore-amr-0.1.2.tar.gz tar zxvf yasm-1.3.0.tar.gz tar jxvf amrwb-11.0.0.0.tar.bz2 tar jxvf ffmpeg-2.5.3.tar.bz2 tar jxvf amrnb-11.0.0.0.tar.bz2
解压后直接使用 cd amrnb-11.0.0.0 ./configure make make install cd /www/admintool/soft cd fdk-aac-0.1.3 ./configure make make install cd /www/admintool/soft cd lame-3.99.5 ./configure make make install cd /www/admintool/soft
cd opencore-amr-0.1.2 ./configure make make install cd /www/admintool/soft
cd yasm-1.3.0 ./configure make make install cd /www/admintool/soft
cd ffmpeg-2.5.3
编译FFMpef的时候稍微特殊一点: ./configure --enable-libmp3lame --enable-libopencore-amrnb--enable-libopencore-amrwb --enable-version3 --enable-shared make make install ldconfig
报错: 1)yasm/nasm not found or too old yum install yasm 2)ERROR: libopencore_amrnb notfound yum install libx264-dev libxvidcore-devlibopencore-amrwb-dev libopencore-amrnb-dev libfaad-dev libfaac-devlibmp3lame-dev \ libtwolame-dev liba52-0.7.4-dev libcddb2-dev libcdaudio-devlibcdio-cdda-dev libvorbis-dev libopenjpeg-dev 3)遇到ERROR:libopencore_amrnb not found tar -xf opencore-amr-0.1.2.tar.gz cd opencore-amr-0.1.2 ./configure make && make install clean
1 如果安装amrnb遇到错误: configure: error: You need patch utility to prepare sources. 执行: yum install patch
2 遇到ERROR: libopencore_amrnb not found cd .. tar -xf opencore-amr-0.1.2.tar.gz cd opencore-amr-0.1.2 ./configure make && make install clean 3 出现"make: ***[libavcodec/libavcodec.so.55] Error 1" make clean 一下再./configure ... 1.ffmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现 “ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannotopen shared object file: No such file or directory”等类似的错误, 解决办法是建立软链接: #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: cannotopen shared object file: No such file or directory 可以通过如下方式查看ffmpeg的动态链接库哪些没有找到: # ldd `which ffmpeg` libavdevice.so.54 => notfound libavfilter.so.3 => notfound libavformat.so.54 => notfound libavcodec.so.54 => notfound libswresample.so.0 => notfound libswscale.so.2 => not found libavutil.so.51 => not found 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) 如果类似于上面的输出内容,查找以上类库: # find /usr/local/lib/ | grep -E "libavdevice.so.56|libavfilter.so.5|libavformat.so.56|libavcodec.so.56|libswresample.so.1|libswscale.so.3|libavutil.so.54" /usr/local/lib/libswscale.so.3.1.101 /usr/local/lib/libavformat.so.56 /usr/local/lib/libavcodec.so.56.13.100 /usr/local/lib/libavfilter.so.5 /usr/local/lib/libavutil.so.54 /usr/local/lib/libavformat.so.56.15.102 /usr/local/lib/libavutil.so.54.15.100 /usr/local/lib/libavdevice.so.56.3.100 /usr/local/lib/libswresample.so.1.1.100 /usr/local/lib/libavfilter.so.5.2.103 /usr/local/lib/libswresample.so.1 /usr/local/lib/libavcodec.so.56 /usr/local/lib/libavdevice.so.56 /usr/local/lib/libswscale.so.3 vi/etc/ld.so.conf 加入:/usr/local/lib 执行ldconfig
3.使用方法 MP3转换AMR: ffmpeg-i it.agoit.com.mp3 -ac 1 -ar 8000 it.agoit.com.amr AMR转换MP3: ffmpeg-i it.agoit.com.amr it.agoit.com.mp3
PHP调用ffmpeg 调用代码为:
|