搬瓦工Centos6.X编译安装最新版FFmpeg
最近找到一个新玩具,需要用到FFmpeg,找了好多方法在我的Centos上,都没有成功.最后找到下面的内容,特此记录一下!
0、首先检查VPS所用的系统是否为CentOS 6.X // Check you system CentOS version
cat /etc/redhat-release
1、添加rpm repo , 并检测一下更新 // Install the additional repo&Update repository
rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y update
PS:上面的URL可以打开:http://pkgs.repoforge.org/rpmforge-release/查看最新版,并修改为最新版
2、安装所有必要的软件包 // Install all necessary packages
yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig
yum install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel
yum install freetype-devel giflib gsm gsm-devel imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel
yum install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel
yum install libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel zlib-devel
yum install libtheora theora-tools
yum install ncurses-devel
yum install libdc1394 libdc1394-devel
yum install amrnb-devel amrwb-devel opencore-amr-devel
3.1 、编译安装 xvid // Install xvid
cd /opt
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar xzvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic
./configure --prefix="$HOME/ffmpeg_build"
make
make install
3.2 、编译安装 LibOgg // Install LibOgg
cd /opt
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
3.3 、编译安装 Libvorbis // Install Libvorbis
cd /opt
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
3.4 、编译安装 Libtheora // Install Libtheora
cd /opt
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-examples --disable-shared --disable-sdltest --disable-vorbistest
make
make install
3.5 、编译安装 Aacenc // Install Aacenc
cd /opt
wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.2.tar.gz
tar xzvf vo-aacenc-0.1.2.tar.gz
cd vo-aacenc-0.1.2
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
3.6 、编译安装 Yasm // Install Yasm
yum remove yasm
cd /opt
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzfv yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
export "PATH=$PATH:$HOME/bin"
3.7 、编译安装 Libvpx // Install Libvpx
cd /opt
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
git checkout tags/v.1.3.0
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
PS2:这步应该是编译Google的webm支持,但貌似非必须,因为我编译安装失败但FFmpeg还是正常使用
PS3:此步原文有一处错误 git checkout tags/v.1.3.0 实际应为 git checkout tags/v1.3.0
3.8 、编译安装 x264 // Install x264
cd /opt
git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
4、配置库 // Configure Libraries
export LD_LIBRARY_PATH=/usr/local/lib/
echo /usr/local/lib >> /etc/ld.so.conf.d/custom-libs.conf
ldconfig
PS4:这步个人感觉最关键! 切记
5、编译安装 FFmpeg / Compile FFmpeg
cd /opt
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout release/2.2
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" \
--extra-libs=-ldl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac \
--enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid --disable-ffplay \
--enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads
make
make install
PS5:上面的./configure是针对32位系统,如果你使用的是64位系统请添加 --arch=x86_64
正常来说,到这步就已经成功安装FFmpeg了,可以用 ffmpeg 命令测试下
ffmpeg
如果显示下面的内容,就证明成功了,ffmpeg版本为目前最新的n2.2.11
[root@centos]# ffmpeg
ffmpeg version n2.2.11 Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 20 2014 00:35:52 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid --disable-ffplay --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat55. 33.100 / 55. 33.100
libavdevice55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoderusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
Conversion failed!
6、悲剧的搬瓦工VPS(BWG)请看这里 / For bandwagonhost VPS user
不知是我的BWG是个例,还是所有BWG的 centos6 都有这个问题,上面编译安装后的文件都应该在
/usr/bin
目录下,这样ffmpeg才能正常运行,但是我编译安装后的文件都在
/root/bin
下,所有我们再输入一下命令保证,ffmpeg正常运行.
cp /root/bin/* /usr/bin
7、结尾
其实还有一种yum安装ffmpeg的方法,但安装后的版本是0.6x,太老了。很多功能都无法使用,我是先用yum安装后才采取编译的方式来安装最新版,不知和最后成功有没有必然联系。yum安装方法如下,发给大家参考
yum install -y automake autoconf libtool gcc gcc-c++
vi /etc/yum.repos.d/dag.repo
添加如下内容:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
之后运行
yum install ffmpeg ffmpeg-devel
原文:
http://wiki.razuna.com/display/ecp/FFMpeg+Installation+on+CentOS+and+RedHat#FFMpegInstallationonCentOSandRedHat-Installtheadditionalrepo
参考:
http://trac.ffmpeg.org/wiki/CompilationGuide/Centos
http://blog.csdn.net/dyllove98/article/details/8892487
http://blog.chinaunix.net/uid-23069658-id-4018842.html
SVN安装:
http://www.tuicool.com/articles/2YFjayY
git安装:
http://www.tuicool.com/articles/uY7ZfaU
PS6:官方编译安装、SVN编译安装、git编译安装方法我这里是都没有安装成功,大家参考吧
PS7:我总是感觉如果只是单纯使用FFmpeg,不压制视频,第三部那些解码包应该是没有用的,也就是说可以跳过,但未实际测试!
随意转载,但请保留地址:iJays.com 。 各种理解错误请留言更正,谢谢 !
版权声明:
作者:Jays
链接:https://ijays.com/2014/12/compile-ffmpeg-on-centos.html
来源:颓废的美
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论