Changes between Version 62 and Version 63 of CompilationGuide/Centos


Ignore:
Timestamp:
Oct 27, 2017, 1:31:03 AM (2 years ago)
Author:
llogan
Comment:

don't mess with repos. don't remove pkgconfig as it removes system stuff. add -L to curl as xiph links are now redirects. update notation colors. remove sacrifical echos: can't idiotproof everthing.

Legend:

Unmodified
Added
Removed
Modified
  • CompilationGuide/Centos

    v62 v63  
    33[[PageOutline(2, Contents)]]
    44
    5 This guide is based on a minimal installation of the latest CentOS release, and will provide a local, non-system installation of FFmpeg with support for several external encoding libraries. These instructions should also work for recent Red Hat Enterprise Linux (RHEL) and Fedora. This is a non-invasive guide and undoing all steps is simple and is shown at the end of this page.
     5This guide is based on a minimal installation of the latest CentOS release, and will provide a local, non-system installation of FFmpeg with support for several common external encoding libraries. These instructions should also work for recent Red Hat Enterprise Linux (RHEL) and Fedora. This is a non-invasive guide and undoing all steps is simple and is shown at the end of this page.
    66
    77----
     
    1010
    1111{{{
    12 #!div style="border: 1pt dotted; margin: 1em; background-color: #fffff9;"
     12#!div style="border: 1px solid #e5e5c7; margin: 1em; background-color: #ffd;"
    1313'''Note:''' The `#` indicates that the command should be executed as superuser or root and is only required in this guide for the `yum` command.
    1414}}}
     
    1616Get the dependencies. These are required for compiling, but you can remove them when you are done if you prefer (except `make`; it should be installed by default and many things depend on it).
    1717{{{
    18 # yum-config-manager --add-repo http://www.nasm.us/nasm.repo
    19 # yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
     18# yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
    2019}}}
    2120
     
    3029
    3130{{{
    32 #!div style="border: 1pt dotted; margin: 1em; background-color: #fffff9;"
    33 '''Note:''' If you do not require certain encoders you may skip the relevant section and then remove the appropriate `./configure` option in FFmpeg. For example, if libvorbis is not needed, then skip that section and then remove `--enable-libvorbis` from the [#FFmpeg Install FFmpeg] section.
     31#!div style="border: 1px solid #c7e5c7; margin: 1em; background-color: #ddffdd;"
     32'''Tip:''' If you do not require certain encoders you may skip the relevant section and then remove the appropriate `./configure` option in FFmpeg. For example, if libvorbis is not needed, then skip that section and then remove `--enable-libvorbis` from the [#FFmpeg Install FFmpeg] section.
     33}}}
     34
     35=== NASM ===
     36
     37An assembler used by some libraries. Highly recommended or your resulting build may be very slow.
     38
     39{{{
     40cd ~/ffmpeg_sources
     41curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2
     42tar xjvf nasm-2.13.01.tar.bz2
     43cd nasm-2.13.01
     44./autogen.sh
     45./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
     46make
     47make install
    3448}}}
    3549
    3650=== Yasm ===
    3751
    38 An assembler for x86 optimizations used by some libraries. Highly recommended or your resulting build may be very slow.
    39 
    40 {{{
    41 cd ~/ffmpeg_sources
    42 curl -O http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
     52An assembler used by some libraries. Highly recommended or your resulting build may be very slow.
     53
     54{{{
     55cd ~/ffmpeg_sources
     56curl -O -L http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
    4357tar xzvf yasm-1.3.0.tar.gz
    4458cd yasm-1.3.0
     
    6175make
    6276make install
    63 echo
     77}}}
     78
     79{{{
     80#!div style="border: 1px solid #e5c7c7; margin: 1em; background-color: #fdd;"
     81'''Warning:''' If you get `Found no assembler. Minimum version is nasm-2.13` or similar after running `./configure` then the outdated nasm package from the repo is installed. Run `yum remove nasm && hash -r` and x264 will then use your newly compiled nasm instead.
    6482}}}
    6583
     
    7795make
    7896make install
    79 echo
    8097}}}
    8198
     
    94111make
    95112make install
    96 echo
    97113}}}
    98114
     
    105121{{{
    106122cd ~/ffmpeg_sources
    107 curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
    108 tar xzvf lame-3.99.5.tar.gz
    109 cd lame-3.99.5
     123curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
     124tar xzvf lame-3.100.tar.gz
     125cd lame-3.100
    110126./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
    111127make
    112128make install
    113 echo
    114129}}}
    115130
     
    122137{{{
    123138cd ~/ffmpeg_sources
    124 curl -O https://archive.mozilla.org/pub/opus/opus-1.1.5.tar.gz
    125 tar xzvf opus-1.1.5.tar.gz
    126 cd opus-1.1.5
     139curl -O -L https://archive.mozilla.org/pub/opus/opus-1.2.tar.gz
     140tar xzvf opus-1.2.tar.gz
     141cd opus-1.2
    127142./configure --prefix="$HOME/ffmpeg_build" --disable-shared
    128143make
     
    136151{{{
    137152cd ~/ffmpeg_sources
    138 curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
     153curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
    139154tar xzvf libogg-1.3.2.tar.gz
    140155cd libogg-1.3.2
     
    142157make
    143158make install
    144 echo
    145159}}}
    146160
     
    153167{{{
    154168cd ~/ffmpeg_sources
    155 curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
    156 tar xzvf libvorbis-1.3.4.tar.gz
    157 cd libvorbis-1.3.4
     169curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
     170tar xzvf libvorbis-1.3.5.tar.gz
     171cd libvorbis-1.3.5
    158172./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
    159173make
    160174make install
    161 echo
    162175}}}
    163176
     
    173186cd libvpx
    174187./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
    175 PATH="$HOME/bin:$PATH" make
    176 make install
    177 echo
     188make
     189make install
    178190}}}
    179191
     
    182194{{{
    183195cd ~/ffmpeg_sources
    184 curl -O http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
     196curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
    185197tar xjvf ffmpeg-snapshot.tar.bz2
    186198cd ffmpeg
     
    210222
    211223{{{
    212 #!div style="border: 1pt dotted; margin: 1em; background-color: #ddffdd;"
     224#!div style="border: 1px solid #c7e5c7; margin: 1em; background-color: #ddffdd;"
    213225'''Tip:''' Keep the `ffmpeg_sources` directory and all contents if you intend to [#Updating update] as shown below. Otherwise you can delete this directory.
    214226}}}
     
    222234{{{
    223235rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,x264,x265}
    224 # yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
     236# yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
    225237}}}
    226238
     
    269281
    270282{{{
    271 rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
    272 # yum erase autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool mercurial nasm pkgconfig zlib-devel
     283rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,nasm,vsyasm,x264,yasm,ytasm}
     284# yum erase autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool mercurial zlib-devel
    273285hash -r
    274286}}}
     
    277289
    278290== If You Need Help ==
    279 Feel free to ask your questions at the #ffmpeg IRC channel or the [http://ffmpeg.org/contact.html ffmpeg-user] mailing list.
     291Feel free to ask your questions at the #ffmpeg IRC channel or the [https://ffmpeg.org/contact.html ffmpeg-user] mailing list.
    280292
    281293----