Advertisement
Guest User

compile ffmpeg 3.0 in aws/centos

a guest
May 26th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.69 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # This script has been tested on aws amzn-ami-hvm-2015.09.1.x86_64-gp2  instace successfully
  4. # Based on gist.github.com/gboudreau/install-ffmpeg-amazon-linux.sh
  5. # and https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
  6. if [ "`/usr/bin/whoami`" != "root" ]; then
  7.     echo "You need to execute this script as root."
  8.     exit 1
  9. fi
  10.  
  11. cat > /etc/yum.repos.d/centos.repo<<EOF
  12. [centos]
  13. name=CentOS-6 – Base
  14. baseurl=http://mirror.centos.org/centos/6/os/x86_64/
  15. gpgcheck=1
  16. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  17. enabled=1
  18. priority=1
  19. protect=1
  20. includepkgs=SDL SDL-devel gsm gsm-devel libtheora theora-tools
  21. EOF
  22. rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
  23. rpm -Uhv 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/libraw1394-2.0.4-1.el6.x86_64.rpm
  24.  
  25. rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  26. yum -y update
  27.  
  28. yum -y install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig
  29. yum -y install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel
  30. yum -y install freetype-devel giflib gsm gsm-devel imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel
  31. yum -y install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel
  32. yum -y install libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel zlib-devel
  33. yum -y install libtheora theora-tools
  34. yum -y install ncurses-devel
  35. yum -y install libdc1394 libdc1394-devel
  36. yum -y install amrnb-devel amrwb-devel opencore-amr-devel
  37.  
  38. cd /opt
  39. wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
  40. tar xzvf xvidcore-1.3.2.tar.gz && rm -f xvidcore-1.3.2.tar.gz
  41. cd xvidcore/build/generic
  42. ./configure --prefix="$HOME/ffmpeg_build" && make && make install
  43.  
  44. cd /opt
  45. wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
  46. tar xzvf libogg-1.3.1.tar.gz && rm -f libogg-1.3.1.tar.gz
  47. cd libogg-1.3.1
  48. ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && make && make install
  49.  
  50. cd /opt
  51. wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
  52. tar xzvf libvorbis-1.3.4.tar.gz && rm -f libvorbis-1.3.4.tar.gz
  53. cd libvorbis-1.3.4
  54. ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared && make && make install
  55.  
  56. cd /opt
  57. wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
  58. tar xzvf libtheora-1.1.1.tar.gz && rm -f libtheora-1.1.1.tar.gz
  59. cd libtheora-1.1.1
  60. ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-examples --disable-shared --disable-sdltest --disable-vorbistest && make && make install
  61.  
  62. cd /opt
  63. git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
  64. cd fdk-aac
  65. autoreconf -fiv
  66. ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
  67. make
  68. make install
  69.  
  70. cd /opt
  71. curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
  72. tar xzvf lame-3.99.5.tar.gz
  73. cd lame-3.99.5
  74. ./configure --prefix="$HOME/ffmpeg_build" --disable-shared --enable-nasm && make && make install
  75.  
  76. yum -y remove yasm
  77. cd /opt
  78. wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
  79. tar xzfv yasm-1.2.0.tar.gz && rm -f yasm-1.2.0.tar.gz
  80. cd yasm-1.2.0
  81. ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && make install
  82. export "PATH=$PATH:$HOME/bin"
  83.  
  84. cd /opt
  85. git clone https://chromium.googlesource.com/webm/libvpx
  86. cd libvpx
  87. git checkout tags/v1.3.0
  88. ./configure --prefix="$HOME/ffmpeg_build" --disable-examples && make && make install
  89.  
  90. cd /opt
  91. git clone git://git.videolan.org/x264.git
  92. cd x264
  93. ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static && make install
  94.  
  95. export LD_LIBRARY_PATH=/usr/local/lib/:$HOME/ffmpeg_build/lib/
  96. echo /usr/local/lib >> /etc/ld.so.conf.d/custom-libs.conf
  97. echo $HOME/ffmpeg_build/lib/ >> /etc/ld.so.conf.d/custom-libs.conf
  98. ldconfig
  99.  
  100. cd /opt
  101. git clone git://source.ffmpeg.org/ffmpeg.git
  102. cd ffmpeg
  103. git checkout release/3.0
  104. PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
  105. export PKG_CONFIG_PATH
  106. ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" \
  107. --extra-libs=-ldl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac \
  108. --enable-libmp3lame --enable-libtheora --enable-libvorbis  --enable-libxvid --disable-ffplay \
  109. --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --arch=x86_64 && make install
  110.  
  111. # Test the resulting ffmpeg binary
  112. cp $HOME/bin/ffmpeg /usr/bin/
  113. ffmpeg -v
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement