Forked from gboudreau/install-ffmpeg-amazon-linux.sh
Last active
May 5, 2016 04:35
-
-
Save michaelxor/ae565317db8922654c1e8ed02006ca51 to your computer and use it in GitHub Desktop.
How to compile ffmpeg on Amazon Linux (EC2)
This file contains hidden or 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 | |
# Based on instructions found here: http://wiki.razuna.com/display/ecp/FFMpeg+Installation+on+CentOS+and+RedHat#FFMpegInstallationonCentOSandRedHat-InstallX264 | |
if [ "`/usr/bin/whoami`" == "root" ]; then | |
echo "You should not execute this script as root." | |
exit 1 | |
fi | |
INSTALL_DIR="/tmp/ffmpeg-source" | |
if [ ! -e $INSTALL_DIR ]; then | |
mkdir $INSTALL_DIR | |
fi | |
cat > centos.repo<<EOF | |
[centos] | |
name=CentOS-6 – Base | |
baseurl=http://mirror.centos.org/centos/6/os/x86_64/ | |
gpgcheck=1 | |
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 | |
enabled=1 | |
priority=1 | |
protect=1 | |
includepkgs=SDL SDL-devel gsm gsm-devel libtheora theora-tools libdc1394 libdc1394-devel libraw1394-devel | |
EOF | |
sudo mv centos.repo /etc/yum.repos.d/ | |
sudo rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 | |
sudo rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm | |
sudo yum -y update | |
sudo yum -y install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig | |
sudo yum -y install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel | |
sudo yum -y install freetype-devel giflib gsm gsm-devel imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel | |
sudo yum -y install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel | |
sudo yum -y install libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel zlib-devel | |
sudo yum -y install libtheora theora-tools | |
sudo yum -y install ncurses-devel | |
sudo yum -y install libdc1394 libdc1394-devel | |
sudo yum -y install amrnb-devel amrwb-devel opencore-amr-devel | |
sudo yum -y install libpng-devel libjpeg-devel libtiff-devel | |
cd $INSTALL_DIR | |
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz | |
tar xzvf xvidcore-1.3.2.tar.gz && rm -f xvidcore-1.3.2.tar.gz | |
cd xvidcore/build/generic | |
./configure --prefix="$HOME/ffmpeg_build" && make && make install | |
cd $INSTALL_DIR | |
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz | |
tar xzvf libogg-1.3.1.tar.gz && rm -f libogg-1.3.1.tar.gz | |
cd libogg-1.3.1 | |
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && make && make install | |
cd $INSTALL_DIR | |
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz | |
tar xzvf libvorbis-1.3.4.tar.gz && rm -f 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 | |
cd $INSTALL_DIR | |
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz | |
tar xzvf libtheora-1.1.1.tar.gz && rm -f 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 | |
cd $INSTALL_DIR | |
wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.2.tar.gz | |
tar xzvf vo-aacenc-0.1.2.tar.gz && rm -f vo-aacenc-0.1.2.tar.gz | |
cd vo-aacenc-0.1.2 | |
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && make && make install | |
sudo yum -y remove yasm | |
cd $INSTALL_DIR | |
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz | |
tar xzfv yasm-1.2.0.tar.gz && rm -f 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" | |
cd $INSTALL_DIR | |
git clone https://chromium.googlesource.com/webm/libvpx.git | |
cd libvpx | |
git checkout tags/v1.3.0 | |
./configure --prefix="$HOME/ffmpeg_build" --disable-examples && make && make install | |
cd $INSTALL_DIR | |
git clone git://git.videolan.org/x264.git | |
cd x264 | |
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static && make && make install | |
export LD_LIBRARY_PATH=/usr/local/lib/:$HOME/ffmpeg_build/lib/ | |
echo /usr/local/lib/ >> custom-libs.conf | |
echo $HOME/ffmpeg_build/lib/ >> custom-libs.conf | |
sudo mv custom-libs.conf /etc/ld.so.conf.d/ | |
sudo ldconfig | |
cd $INSTALL_DIR | |
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-ffprobe \ | |
--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 --arch=x86_64 && make && make install | |
# Test the resulting ffmpeg binary | |
ffmpeg |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment