centos服务器安装配置ffmpeg
一:安装yasm
从yasm官网下载最新版本[http://yasm.tortall.NET/];
# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz # tar zxvf yasm-1.3.0.tar.gz # cd yasm-1.3.0 # ./configure # make && make install
二:安装ffmpeg
从ffmpeg官网下载最新版本[http://www.ffmpeg.org];
wget http://ffmpeg.org/releases/ffmpeg-3.3.tar.bz2 tar -xvf ffmpeg-3.3.tar.bz2 cd ffmpeg-3.3 ./configure --enable-shared --prefix=/usr/local/ffmpeg make && make install
配置环境变量
则在任何目录都可以执行 ffmpeg --version
三:测试
进入/usr/local/ffmpeg/bin目录;
./ffmpeg -v
如果无异常则安装成功;
四:异常
错误信息:
ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory
此情况是因为ffmpeg未找到相关依赖包,可以通过以下方法解决
先 find / -name libavdevice.so.56 得到该文件的目录地址,我找到的是在ffmpeg安装目录的lib目录下;
然后 vim /etc/ld.so.conf 将上述目录添加到最后一行并保存退出;
再 ldconfig 使配置生效,即可;
vi /etc/ld.so.conf 加入:/usr/local/ffmpeg/lib 执行ldconfig
五、故障解决
上传视频并使用ffmpeg截取缩略图时,提示
open_basedir restriction in effect. File(/usr/local/ffmpeg/bin/ffprobe) is not within the allowed path(s): (/home/wwwwroot/XXX/:/tmp/)
解决方法,把/usr/local/ffmpeg/bin目录加入到apache网站设置的open_basedir中。
编辑Apache的站点配置文件,修改php_admin_value open_basedir 增加 /usr/local/ffmpeg/bin
需要特别注意的是:多个目录用:冒号隔开,千万不能用其他符号
==================================================================================================
下面是升级ffmpeg的方法
==================================================================================================
如果服务器已经安装了一个 Ffmpeg 的话,比如已安装在 /usr/local/ffmpeg 目录。Linux下版本升级步骤如下:
1.下载 ffmpeg-*.tar.gz
到 Ffmpeg 官网 https://ffmpeg.org/download.html 挑选你要升级到的版本,然后下载,比如作者下载的是 ffmpeg-2.0.tar.gz。
2.编译安装
tar -zxvf ffmpeg-2.0.tar.gz
cd ffmpeg-2.0
./configure --enable-shared --prefix=/usr/local/ffmpeg
make
make install
3.动态链接库
vi /etc/ld.so.conf
加入:/usr/local/ffmpeg/lib
执行
ldconfig
4.为 Ffmpeg 加入环境变量
vi /etc/profile
加入以下内容:
FFMPEG=/usr/local/ffmpeg
PATH加入:$FFMPEG/bin
5.使修改立即生效
source /etc/profile
执行
ffmpeg -version
打印结果
ffmpeg version 2.0
built on Jul 24 2013 09:59:06 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
configuration: --enable-shared --prefix=/usr/local/ffmpeg
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
证明已升级成功。如果遇到 ffmpeg: error while loading shared libraries: libavdevice.so.55: cannot open shared object file: No such file or directory 之类的错误,请检查第三步是否做好。
<< 上一篇
下一篇 >>