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”等类似的错误, 解决办法是建立软链接:
2.此时如果出现以下提示: ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory 可以通过如下方式查看ffmpeg的动态链接库哪些没有找到:
# ldd `which ffmpeg`
libavdevice.so.54 => not found
libavfilter.so.3 => not found
libavformat.so.54 => not found
libavcodec.so.54 => not found
libswresample.so.0 => not found
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)
configure: error: You need patch utility to prepare sources. 执行:
yum install patch
2 遇到ERROR: libopencore_amrnb not found
cd /root
wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz?r=http://sourceforge.net/projects/opencore-amr/&ts=1285256783&use_mirror=ufpr
tar -xf opencore-amr-0.1.2.tar.gz
cd opencore-amr-0.1.2
./configure
make && make install clean
服务器安装ffmpeg-php
时间:2020-3-14 编辑:37°5 点个赞呗
1.先访问ffmpeg的链接:
http://www.ffmpeg.org/download.html
2.编译所需源码包
yasm:http://yasm.tortall.net/Download.html(汇编器,新版本的ffmpeg增加了汇编代码)lame:http://lame.sourceforge.net/download.php(Mp3音频解码)
OpenCore AMR:http://sourceforge.net/projects/opencore-amr
AmrNB:http://www.penguin.cz/~utx/amr
AmrWB:http://www.penguin.cz/~utx/amr
FFMpeg:http://ffmpeg.org/download.html。
分别解压缩并编译上述源码包
编译FFMpef的时候稍微特殊一点:
3.使用方法
MP3转换AMR: ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amrAMR转换MP3: ffmpeg -i 1.amr 1.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”等类似的错误,
解决办法是建立软链接:
ffmpeg: error while loading shared libraries: libavdevice.so.54: cannot open shared object file: No such file or directory
可以通过如下方式查看ffmpeg的动态链接库哪些没有找到:
会发现全部在/usr/local/lib/下
查看链接库配置文件
1 如果安装amrnb遇到错误:
configure: error: You need patch utility to prepare sources.执行:
2 遇到ERROR: libopencore_amrnb not found
3 出现"make: *** [libavcodec/libavcodec.so.55] Error 1"
make clean 一下再./configure ...安装ffmpeg-php
(1)下载安装包wget http://jaist.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.5.3.1/ffmpeg-php-0.5.3.1.tbz2
或http://jaist.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/
安装ffmepg-php
报错情况
make: *** [ffmpeg-php.lo] 错误 1解决:
解决:
解决:
解决:
解决:
4。测试
在php的配置php.ini文件,添加如下内容
fmpegextension=ffmpeg.so
重启apache或php-fpm,用php测试
ffmpeg support (ffmpeg-php) => enabled
ffmpeg-php version => 0.5.3.1
ffmpeg-php gd support => enabled
ffmpeg.allow_persistent => 0 => 0
ffmpeg.show_warnings => 0 => 0
............................省略
64位win7系统下ffmpeg的php扩展的安装
我在我的笔记本上安装了64位的win7,php的版本和上一个都是一样的,然后也是下载了那个版本(win32)的ffmpeg扩展包,然后把php_ffmpeg.dll放入到php的ext目录下,把其余的放入system32下。发现无效
最终发现这样可以解决问题:还是把php_ffmpeg.dll放入到ext下,其余的dll不要放在system32下,而是要放入64位系统独有的C:\Windows\SysWOW64目录下,然后就好了。
PS:尽管ffpmpeg有64位的扩展,但是这个64位是和php的一致的,而不是和你的操作系统一致的。我最终调试出来问题是用在命令下下运行php,直接如果有错误的话,比如你加载了错误的dll,这个时候会弹出来错误的,很快帮助能解决问题!