搬瓦工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 encoder

usage: 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
来源:颓废的美
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>