您的位置:首页 > 运维架构 > Linux

centos ffmpeg安装编译

2017-02-16 21:53 337 查看
Note: The # indicates that the command should be executed as superuser or root and is only required in this guide for
the yum command.

Get the dependencies. These are required for compiling, but you can remove them when you are done if you prefer (except make; it should be
installed by default and many things depend on it).
# yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel


In your home directory make a new directory to put all of the source code into:
mkdir ~/ffmpeg_sources


Compilation & Installation

Note: If you do not require certain encoders you may skip the relevant section and then remove the appropriate ./configure option
in FFmpeg. For example, if libvorbis is not needed, then skip that section and then remove --enable-libvorbis from the Install
FFmpeg section.


Yasm

Yasm is an assembler used by x264 and FFmpeg.
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/yasm/yasm.git
cd yasm
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
echo


Note: The echo at the end is just a sacrificial command because some users are forgetting to manually execute the last
command when copying and pasting each code block.


libx264

H.264 video encoder. See the H.264 Encoding Guide for more information and usage
examples.

Requires ffmpeg to be configured with --enable-gpl --enable-libx264.
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
echo


libx265

H.265/HEVC video encoder. See the H.265 Encoding Guide for more information and usage
examples.

Requires ffmpeg to be configured with --enable-gpl --enable-libx265.
cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265 cd ~/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
echo


libfdk_aac

AAC audio encoder.

Requires ffmpeg to be configured with --enable-libfdk_aac (and --enable-nonfree if
you also included --enable-gpl).
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo


libmp3lame

MP3 audio encoder.

Requires ffmpeg to be configured with --enable-libmp3lame.
cd ~/ffmpeg_sources
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
echo


libopus

Opus audio decoder and encoder.

Requires ffmpeg to be configured with --enable-libopus.
cd ~/ffmpeg_sources
git clone http://git.opus-codec.org/opus.git cd opus
autoreconf -fiv
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo


libogg

Ogg bitstream library. Required by libtheora and libvorbis.
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz tar xzvf libogg-1.3.2.tar.gz
cd libogg-1.3.2
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
echo


libvorbis

Vorbis audio encoder. Requires libogg.

Requires ffmpeg to be configured with --enable-libvorbis.
cd ~/ffmpeg_sources
curl -O 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
echo


libvpx

VP8/VP9 video encoder.

Requires ffmpeg to be configured with --enable-libvpx.
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
echo


FFmpeg

cd ~/ffmpeg_sources
curl -O http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -ldl" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
make
make install
hash -r


Compilation is now complete and ffmpeg (also ffprobe, ffserver, lame,
and x264) should now be ready to use. The rest of this guide shows how to update or remove FFmpeg.

Tip: Keep the ffmpeg_sources directory and all contents if you intend to update as
shown below. Otherwise you can delete this directory.


Updating

Development of FFmpeg is active and an occasional update can give you new features and bug fixes. First, remove the old files and then update the dependencies:
rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,x265,yasm,ytasm}
# yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel


Update Yasm

cd ~/ffmpeg_sources/yasm
make distclean
git pull


Then run ./configure, make,
and make install as shown in the Install
yasm section.


Update x264

cd ~/ffmpeg_sources/x264
make distclean
git pull


Then run ./configure, make,
and make install as shown in the Install
x264 section.


Update x265

cd ~/ffmpeg_sources/x265
rm -rf ~/ffmpeg_sources/x265/build/linux/*
hg update
cd ~/ffmpeg_sources/x265/build/linux


Then run cmake, make,
and make install as shown in the Install
x265 section.


Update libfdk_aac

cd ~/ffmpeg_sources/fdk_aac
make distclean
git pull


Then run ./configure, make,
and make install as shown in the Install
libfdk_aac section.


Update libvpx

cd ~/ffmpeg_sources/libvpx
make distclean
git pull


Then run ./configure, make,
and make install as shown in the Install
libvpx section.


Update FFmpeg

rm -rf ~/ffmpeg_sources/ffmpeg


Then re-run the Install FFmpeg section.


Reverting changes made by this guide

rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
# yum erase autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool mercurial nasm pkgconfig zlib-devel
hash -r


If You Need Help

Feel free to ask your questions at the #ffmpeg IRC channel or the ​ffmpeg-user mailing
list.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: