#!/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 need to execute this script as root." | |
exit 1 | |
fi | |
cat > /etc/yum.repos.d/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 | |
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 | |
rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm | |
yum -y update | |
yum -y install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig | |
yum -y install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel | |
yum -y install freetype-devel giflib gsm gsm-devel imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel | |
yum -y install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel | |
yum -y install libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel zlib-devel | |
yum -y install libtheora theora-tools | |
yum -y install ncurses-devel | |
yum -y install libdc1394 libdc1394-devel | |
yum -y install amrnb-devel amrwb-devel opencore-amr-devel | |
cd /opt | |
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 /opt | |
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 /opt | |
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 /opt | |
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 /opt | |
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 install | |
yum -y 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 && rm -f yasm-1.2.0.tar.gz | |
cd yasm-1.2.0 | |
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && make install | |
export "PATH=$PATH:$HOME/bin" | |
cd /opt | |
git clone http://git.chromium.org/webm/libvpx.git | |
cd libvpx | |
git checkout tags/v1.3.0 | |
./configure --prefix="$HOME/ffmpeg_build" --disable-examples && make && make install | |
cd /opt | |
git clone git://git.videolan.org/x264.git | |
cd x264 | |
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static && make install | |
export LD_LIBRARY_PATH=/usr/local/lib/:$HOME/ffmpeg_build/lib/ | |
echo /usr/local/lib >> /etc/ld.so.conf.d/custom-libs.conf | |
echo $HOME/ffmpeg_build/lib/ >> /etc/ld.so.conf.d/custom-libs.conf | |
ldconfig | |
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 --arch=x86_64 && make install | |
# Test the resulting ffmpeg binary | |
cp $HOME/bin/ffmpeg /usr/bin/ | |
ffmpeg -v |
This comment has been minimized.
This comment has been minimized.
Awesome tutorial / script. Just a note... x264 is prohibited for commercial use without licensing. |
This comment has been minimized.
This comment has been minimized.
Very helpful -- thanks for sharing this! |
This comment has been minimized.
This comment has been minimized.
In case you're fine with a binary: |
This comment has been minimized.
This comment has been minimized.
Thanks a lot :) |
This comment has been minimized.
This comment has been minimized.
Awesome! Thank you!
cd /opt |
This comment has been minimized.
This comment has been minimized.
Great Gist! One minor update... the location of the libvpx repo has changed, so you'll want to replace this line:
with this:
|
This comment has been minimized.
This comment has been minimized.
Thank you for the script, just perfect |
This comment has been minimized.
This comment has been minimized.
ffmpeg version n2.2.16-11-gbeaf272 i changed line 97, 98 and added --enable-ffprobe and --enable-ffplay but i cant find ffprobe and ffplay can you tell me how to install ffprobe and ffplay |
This comment has been minimized.
This comment has been minimized.
awesome, thanks. |
This comment has been minimized.
This comment has been minimized.
@ahojchris Thank you so much!!! |
This comment has been minimized.
This comment has been minimized.
@iumesh ffprobe and ffmpeg are in the /opt/ffmpeg directory. You can link or copy them to /usr/bin |
This comment has been minimized.
This comment has been minimized.
needs new git URL for libvpx - https://chromium.googlesource.com/webm/libvpx |
This comment has been minimized.
This comment has been minimized.
And ffmpeg -version at the end :) |
This comment has been minimized.
This comment has been minimized.
You saved me dude! |
This comment has been minimized.
This comment has been minimized.
Awesome, thanks man! |
This comment has been minimized.
This comment has been minimized.
for some reason, there was a missing package called libraw1394 that failed the dependency, I've googled it and found on http://ec2-23-22-86-129.compute-1.amazonaws.com/pub/sam/1.3/el6/x86_64/SAM_brew_latest/toplink/packages/libraw1394/2.0.4/1.el6/x86_64/ installeed it manually with rpm -Uvh ... that made it passed |
This comment has been minimized.
This comment has been minimized.
and I think a git repo is dead (fatal: http://git.chromium.org/webm/libvpx.git/info/refs not valid: is this a git repository?) |
This comment has been minimized.
This comment has been minimized.
@immortalize you are right, the command
Thanks for you solution |
This comment has been minimized.
This comment has been minimized.
I created a fork, it works as for today 27.05.16 in a fresh "amzn-ami-hvm-2015.09.1.x86_64-gp2" instance
Additionally
|
This comment has been minimized.
This comment has been minimized.
repoforge/rpms#375 RepoForge is a dead project |
This comment has been minimized.
This comment has been minimized.
WORKING FORK AS OF 2.12.2016 : Steps:
Tested in : Fixes: |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
The very last line will - at least with version 2.2.9 of ffmpeg - fail with "Missing argument for option 'v'.". You can fix this by using -version instead of -v
Thank you very much for this script!!