Created
April 20, 2016 16:31
-
-
Save hiroaki/6652204ee2e139313fbc21ae9e42a2c0 to your computer and use it in GitHub Desktop.
Install ffmpeg on CentOS 5 automatically
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -eu | |
# @(#)Install ffmpeg on CentOS 5 | |
# | |
# Before execute this script, you have to install dependent packages: | |
# (There may be excess or deficiency) | |
# | |
# yum install zlib-devel bzip2 bzip2-devel sqlite sqlite-devel \ | |
# openssl-devel man which gcc gcc-c++ perl make autoconf \ | |
# zip unzip patch readline-devel gettext-devel gettext \ | |
# curl-devel expat-devel libxml2-devel | |
SRCDIR=$HOME/local/src | |
DSTDIR=$HOME/local | |
LANG=C | |
export LANG | |
PATH=$DSTDIR/bin:/usr/bin:/bin:/usr/local/bin | |
export PATH | |
mkdir -p $SRCDIR | |
mkdir -p $DSTDIR | |
echo "-------------------------------------------------------------------------" | |
echo "Python" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -OL https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz | |
tar xzf Python-2.7.11.tgz | |
cd Python-2.7.11 | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
echo "-------------------------------------------------------------------------" | |
echo "libiconv" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -OL http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz | |
tar xzf libiconv-1.14.tar.gz | |
cd libiconv-1.14 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "gettext" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -OL http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz | |
tar xzf gettext-0.18.1.1.tar.gz | |
cd gettext-0.18.1.1 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "xz" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -OL http://tukaani.org/xz/xz-5.2.2.tar.gz | |
tar xzf xz-5.2.2.tar.gz | |
cd xz-5.2.2 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "tar" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -LO http://ftp.gnu.org/gnu/tar/tar-1.28.tar.gz | |
tar xzf tar-1.28.tar.gz | |
cd tar-1.28 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR --with-xz=$DSTDIR/bin/xz | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "libffi" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -LO ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz | |
tar xzf libffi-3.2.1.tar.gz | |
cd libffi-3.2.1 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "pcre" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -L -o pcre-8.38.tar.gz \ | |
https://sourceforge.net/projects/pcre/files/pcre/8.38/pcre-8.38.tar.gz/download | |
tar xzf pcre-8.38.tar.gz | |
cd pcre-8.38 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR --enable-utf --enable-unicode-properties \ | |
--libdir=$DSTDIR/lib --enable-pcregrep-libz --enable-pcregrep-libbz2 | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "glib" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -LO http://ftp.gnome.org/pub/gnome/sources/glib/2.48/glib-2.48.0.tar.xz | |
$DSTDIR/bin/tar xJf glib-2.48.0.tar.xz | |
cd glib-2.48.0 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR --with-libiconv=gnu --with-pcre=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "yasm" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -LO http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz | |
tar xzf yasm-1.3.0.tar.gz | |
cd yasm-1.3.0 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "x264" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -LO ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 | |
tar xjf last_x264.tar.bz2 | |
cd x264-snapshot-* | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR --enable-shared | |
make | |
make install | |
make install-lib-shared | |
make install-lib-static | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "lame" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -L -o lame-3.99.5.tar.gz \ | |
https://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download | |
tar xzf lame-3.99.5.tar.gz | |
cd lame-3.99.5 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "faac" | |
echo "-------------------------------------------------------------------------" | |
cd $DSTDIR/src | |
curl -LO http://downloads.sourceforge.net/faac/faac-1.28.tar.gz | |
tar xzf faac-1.28.tar.gz | |
cd faac-1.28 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "faad2" | |
echo "-------------------------------------------------------------------------" | |
cd $DSTDIR/src | |
curl -LO http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz | |
tar xzf faad2-2.7.tar.gz | |
cd faad2-2.7 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "ffmpeg" | |
echo "-------------------------------------------------------------------------" | |
cd $SRCDIR | |
curl -OL http://ffmpeg.org/releases/ffmpeg-3.0.1.tar.gz | |
tar xzf ffmpeg-3.0.1.tar.gz | |
cd ffmpeg-3.0.1 | |
PKG_CONFIG_PATH=$DSTDIR/lib/pkgconfig \ | |
CFLAGS="-I$DSTDIR/include" \ | |
CPPFLAGS="-I$DSTDIR/include" \ | |
LDFLAGS="-L$DSTDIR/lib" \ | |
./configure --prefix=$DSTDIR \ | |
--extra-cflags="-I$DSTDIR/include" \ | |
--extra-cxxflags="-I$DSTDIR/include" \ | |
--extra-ldflags="-L$DSTDIR/lib" \ | |
--extra-ldlibflags="-L$DSTDIR/lib" \ | |
--extra-libs="-L$DSTDIR/lib" \ | |
--enable-shared \ | |
--enable-libfaac \ | |
--enable-libmp3lame \ | |
--enable-libx264 \ | |
--enable-gpl \ | |
--enable-nonfree \ | |
--enable-rpath | |
make | |
make install | |
make clean | |
echo "-------------------------------------------------------------------------" | |
echo "Congratulations!!" | |
echo "-------------------------------------------------------------------------" | |
$DSTDIR/bin/ffmpeg -version |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment