crashhacker

build_ffmpeg_ubuntu.sh

Nov 23rd, 2018
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.61 KB | None | 0 0
  1. sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y
  2. sudo apt-get -y install \
  3.   autoconf \
  4.   automake \
  5.   build-essential \
  6.   cmake \
  7.   git-core \
  8.   libass-dev \
  9.   libfreetype6-dev \
  10.   libsdl2-dev \
  11.   libtool \
  12.   libva-dev \
  13.   libvdpau-dev \
  14.   libvorbis-dev \
  15.   libxcb1-dev \
  16.   libxcb-shm0-dev \
  17.   libxcb-xfixes0-dev \
  18.   pkg-config \
  19.   texinfo \
  20.   wget \
  21.   zlib1g-dev
  22.  
  23. mkdir -p ~/ffmpeg_sources ~/bin
  24.  
  25. cd ~/ffmpeg_sources && \
  26.  
  27. wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.bz2 && \
  28. tar xjvf nasm-2.13.03.tar.bz2 && \
  29. cd nasm-2.13.03 && \
  30. ./autogen.sh && \
  31. PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
  32. make && \
  33. make install
  34.  
  35. sudo apt-get install yasm
  36.  
  37. cd ~/ffmpeg_sources && \
  38. wget -O yasm-1.3.0.tar.gz https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
  39. tar xzvf yasm-1.3.0.tar.gz && \
  40. cd yasm-1.3.0 && \
  41. ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
  42. make && \
  43. make install
  44.  
  45. sudo apt-get install libx264-dev
  46.  
  47. cd ~/ffmpeg_sources && \
  48. git -C x264 pull 2> /dev/null || git clone --depth 1 https://git.videolan.org/git/x264 && \
  49. cd x264 && \
  50. PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic && \
  51. PATH="$HOME/bin:$PATH" make && \
  52. make install
  53.  
  54. sudo apt-get install libx265-dev libnuma-dev
  55.  
  56. sudo apt-get install mercurial libnuma-dev && \
  57. cd ~/ffmpeg_sources && \
  58. if cd x265 2> /dev/null; then hg pull && hg update; else hg clone https://bitbucket.org/multicoreware/x265; fi && \
  59. cd x265/build/linux && \
  60. PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source && \
  61. PATH="$HOME/bin:$PATH" make && \
  62. make install
  63.  
  64. sudo apt-get install libvpx-dev
  65.  
  66. cd ~/ffmpeg_sources && \
  67. git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
  68. cd libvpx && \
  69. PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
  70. PATH="$HOME/bin:$PATH" make && \
  71. make install
  72.  
  73. sudo apt-get install libfdk-aac-dev
  74.  
  75. cd ~/ffmpeg_sources && \
  76. git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
  77. cd fdk-aac && \
  78. autoreconf -fiv && \
  79. ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
  80. make && \
  81. make install
  82.  
  83. sudo apt-get install libmp3lame-dev
  84.  
  85. cd ~/ffmpeg_sources && \
  86. wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
  87. tar xzvf lame-3.100.tar.gz && \
  88. cd lame-3.100 && \
  89. PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
  90. PATH="$HOME/bin:$PATH" make && \
  91. make install
  92.  
  93. sudo apt-get install libopus-dev
  94.  
  95. cd ~/ffmpeg_sources && \
  96. git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
  97. cd opus && \
  98. ./autogen.sh && \
  99. ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
  100. make && \
  101. make install
  102.  
  103. cd ~/ffmpeg_sources && \
  104. git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \
  105. mkdir aom_build && \
  106. cd aom_build && \
  107. PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom && \
  108. PATH="$HOME/bin:$PATH" make && \
  109. make install
  110.  
  111. cd ~/ffmpeg_sources && \
  112. wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
  113. tar xjvf ffmpeg-snapshot.tar.bz2 && \
  114. cd ffmpeg && \
  115. PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  116.   --prefix="$HOME/ffmpeg_build" \
  117.   --pkg-config-flags="--static" \
  118.   --extra-cflags="-I$HOME/ffmpeg_build/include" \
  119.   --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  120.   --extra-libs="-lpthread -lm" \
  121.   --bindir="$HOME/bin" \
  122.   --enable-gpl \
  123.   --enable-libaom \
  124.   --enable-libass \
  125.   --enable-libfdk-aac \
  126.   --enable-libfreetype \
  127.   --enable-libmp3lame \
  128.   --enable-libopus \
  129.   --enable-libvorbis \
  130.   --enable-libvpx \
  131.   --enable-libx264 \
  132.   --enable-libx265 \
  133.   --enable-nonfree && \
  134. PATH="$HOME/bin:$PATH" make && \
  135. make install && \
  136. hash -r
  137.  
  138. source ~/.profile
  139. source ~/.bashrc
  140.  
  141. sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y && sudo apt autoclean -y
  142. sudo updatedb
  143.  
  144. echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath
Advertisement
Add Comment
Please, Sign In to add comment