Changes between Version 55 and Version 56 of CompilationGuide/Ubuntu


Ignore:
Timestamp:
May 11, 2013, 11:57:53 PM (5 years ago)
Author:
llogan
Comment:

update and simplify for 13.04; remove libjack, libspeex, librtmp, opencore dingleberries

Legend:

Unmodified
Added
Removed
Modified
  • CompilationGuide/Ubuntu

    v55 v56  
    33[[PageOutline(2, Contents)]] 
    44 
    5 This guide supports '''Ubuntu 12.10 (Quantal Quetzal)''', '''Ubuntu 12.04 (Precise Pangolin)''', and '''Ubuntu 11.10 (Oneiric Ocelot)'''. Separate guides are available for [wiki:UbuntuCompilationGuideLucid Ubuntu 10.04 (Lucid Lynx)] and [wiki:UbuntuCompilationGuideHardy Ubuntu 8.04 (Hardy Heron)]. This guide will provide the latest FFmpeg code and enable several external encoding and decoding libraries: ''fdk-aac'' (AAC encoder), ''libfaac'' (AAC encoder), ''libmp3lame'' (MP3 encoder), ''libopencore-amr'' (AMR encoder/decoder), ''librtmp'' (for additional RTMP protocols), ''libtheora'' (Theora encoder), ''libvorbis'' (Vorbis encoder), ''libvpx'' (VP8 encoder/decoder), and ''libx264'' (H.264 encoder). These are optional and may be omitted if desired. This guide will also install many filters, including the `subtitles` filter for hardcoding subtitles (see the filter list in the [wiki:FilteringGuide#ListofFilters Filtering Guide]). 
     5 This guide for '''Ubuntu 13.04 Raring Ringtail''' will install the latest FFmpeg programs and enable several external encoding and decoding libraries (codecs). Separate guides are available for [[UbuntuCompilationGuideQuantal|Ubuntu 12.10 Quantal Quetzal, Ubuntu 12.04 Precise Pangolin, Ubuntu 11.10 Oneiric Ocelot]], [[UbuntuCompilationGuideLucid|Ubuntu 10.04 Lucid Lynx]], and [[UbuntuCompilationGuideHardy|Ubuntu 8.04 Hardy Heron]]. 
    66 
    77  '''Note:''' Copy and paste the whole code box for each step. 
     
    1111Remove any existing packages: 
    1212{{{ 
    13 sudo apt-get remove ffmpeg x264 libav-tools libvpx-dev libx264-dev yasm 
     13sudo apt-get remove ffmpeg x264 libav-tools libx264-dev 
    1414}}} 
    1515 
    16   '''Note:''' The ''multiverse'' repository must be enabled in order to install the ''libfaac-dev'' package. See [https://help.ubuntu.com/community/Repositories/Ubuntu#Adding_Repositories_in_Ubuntu more details on adding repositories]. 
     16  '''Note:''' The ''multiverse'' repository must be enabled in order to install the `libfaac-dev` package. See [https://help.ubuntu.com/community/Repositories/Ubuntu#Adding_Repositories_in_Ubuntu more details on adding repositories]. 
    1717 
    18 Get the dependencies ('''Ubuntu Desktop''' users): 
     18Get the dependencies ('''Ubuntu Desktop'''): 
    1919{{{ 
    2020sudo apt-get update 
    2121sudo apt-get -y install autoconf automake build-essential checkinstall git libass-dev libfaac-dev \ 
    22   libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \ 
    23   librtmp-dev libsdl1.2-dev libspeex-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev \ 
    24   libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev 
     22  libgpac-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev \ 
     23  libvpx-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html yasm zlib1g-dev 
    2524}}} 
    2625 
    27 Get the dependencies ('''Ubuntu Server''' or headless users): 
     26Get the dependencies ('''Ubuntu Server'''): 
    2827{{{ 
    2928sudo apt-get update 
    3029sudo apt-get -y install autoconf automake build-essential checkinstall git libass-dev libfaac-dev \ 
    31   libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libspeex-dev \ 
    32   libtheora-dev libtool libvorbis-dev pkg-config texi2html zlib1g-dev 
     30  libgpac-dev libmp3lame-dev libtheora-dev libtool libvorbis-dev libvpx-dev pkg-config texi2html yasm zlib1g-dev 
    3331}}} 
    3432 
    3533== Installation == 
    3634 
    37 === Yasm === 
    38  
    39 Yasm is an assembler and is recommended for x264 and FFmpeg. 
    40 {{{ 
    41 cd 
    42 wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz 
    43 tar xzvf yasm-1.2.0.tar.gz 
    44 cd yasm-1.2.0 
    45 ./configure 
    46 make 
    47 sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no \ 
    48   --deldoc=yes --fstrans=no --default 
    49 }}} 
    50  
    5135=== x264 === 
    52 H.264 video encoder. The following commands will get the current source files, compile, and install x264. See the [wiki:x264EncodingGuide x264 Encoding Guide] for some usage examples. 
     36H.264 video encoder. The following commands will get the current source files, compile, and install x264. See the [[x264EncodingGuide|x264 Encoding Guide]] for some usage examples. 
    5337{{{ 
    5438cd 
     
    7963  '''Note:''' You can download a [https://github.com/mstorsjo/fdk-aac/zipball/master fdk-aac source snapshot] as an alternative to using `git`. 
    8064 
    81 === libvpx === 
    82 VP8 video encoder and decoder. 
    83 {{{ 
    84 cd 
    85 git clone --depth 1 http://git.chromium.org/webm/libvpx.git 
    86 cd libvpx 
    87 ./configure --disable-examples --disable-unit-tests 
    88 make 
    89 sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \ 
    90   --deldoc=yes --fstrans=no --default 
    91 }}} 
    92  
    93   '''Note:''' You can download a [http://code.google.com/p/webm/downloads/list libvpx source snapshot] as an alternative to using `git`. 
    94  
    95 === opus (optional) === 
    96 Opus audio encoder and decoder. Add `--enable-libopus` to your ffmpeg `./configure` line if you want to use this. 
    97 {{{ 
    98 cd 
    99 git clone --depth 1 git://git.xiph.org/opus.git 
    100 cd opus 
    101 ./autogen.sh 
    102 ./configure --disable-shared 
    103 make 
    104 sudo checkinstall --pkgname=libopus --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \ 
    105   --deldoc=yes --fstrans=no --default 
    106 }}} 
    107  
    10865=== FFmpeg === 
    10966 
     
    11572cd ffmpeg 
    11673./configure --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame \ 
    117   --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora \ 
    118   --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 
     74  --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 \ 
     75  --enable-nonfree --enable-version3 
    11976make 
    12077sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no \ 
     
    12683 
    12784== Finish == 
    128 Installation is now complete and FFmpeg is now ready for use. You can keep the x264, libvpx, and ffmpeg directories in your home directory if you plan on updating later. See [#update Updating FFmpeg] below for more details. Some optional steps are next followed by instructions on updating FFmpeg and finally instructions on reverting all changes made by this guide. 
     85Installation is now complete and FFmpeg is now ready for use. You can keep the `ffmpeg,` `fdk-aac`, and `x264` directories in your home directory if you plan on updating later. See [#update Updating FFmpeg] below for more details. Some optional steps are next followed by instructions on updating FFmpeg and finally instructions on reverting all changes made by this guide. 
    12986 
    13087---- 
     
    14299 
    143100=== Add `lavf` support to x264 === 
    144 This allows x264 to accept just about any input that FFmpeg can handle and is useful if you want to use x264 directly. See a [http://ubuntuforums.org/showpost.php?p=11243462&postcount=1839 more detailed explanation] of what this means. 
     101Re-compiling `x264` after `ffmpeg` allows it to accept just about any input that `ffmpeg` can handle. This is useful if you want to use `x264` directly. See a [http://ubuntuforums.org/showpost.php?p=11243462&postcount=1839 more detailed explanation] of what this means. 
    145102{{{ 
    146103cd ~/x264 
     
    155112---- 
    156113 
    157 == Updating FFmpeg ==#update 
     114== Updating FFmpeg ('''Ubuntu Desktop''') ==#update 
    158115Development of FFmpeg and x264 is active and an occasional update can give you new features and bug fixes. First, remove some packages and then update the dependencies: 
    159116{{{ 
     
    161118sudo apt-get update 
    162119sudo apt-get -y install autoconf automake build-essential checkinstall git libass-dev libfaac-dev \ 
    163   libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \ 
    164   librtmp-dev libsdl1.2-dev libspeex-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev \ 
    165   libx11-dev libxext-dev libxfixes-dev texi2html yasm zlib1g-dev 
     120  libgpac-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev \ 
     121  libvpx-dev libx11-dev libxext-dev libxfixes-dev texi2html yasm zlib1g-dev 
    166122}}} 
    167123 
     
    182138Now run `./configure`, `make`, and `checkinstall` as shown in the [#fdk-aac Install fdk-aac] section. 
    183139 
    184 === libvpx === 
    185 {{{ 
    186 cd ~/libvpx 
    187 make clean 
    188 git pull 
    189 }}} 
    190 Now run `./configure`, `make`, and `checkinstall` as shown in the [#libvpx Install libvpx] section. 
    191  
    192 === opus === 
    193 {{{ 
    194 cd ~/opus 
    195 make distclean 
    196 git pull 
    197 }}} 
    198 Now run `./configure`, `make`, and `checkinstall` as shown in the [#opusoptional Install opus] section. 
    199  
    200140=== FFmpeg === 
    201141{{{ 
     
    212152{{{ 
    213153sudo apt-get autoremove autoconf automake build-essential checkinstall fdk-aac ffmpeg git libass-dev \ 
    214   libfaac-dev libgpac-dev libjack-jackd2-dev libmp3lame-dev librtmp-dev libsdl1.2-dev libspeex-dev \ 
    215   libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libvpx libx11-dev libxfixes-dev \ 
    216   opus pkg-config qt-faststart texi2html x264 yasm zlib1g-dev 
     154  libfaac-dev libgpac-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ 
     155  libvorbis-dev libvpx-dev libx11-dev libxfixes-dev pkg-config qt-faststart texi2html x264 yasm zlib1g-dev 
    217156}}} 
    218 Lastly, delete the `x264`, `fdk-aac`, `libvpx`, `opus`, and `ffmpeg` directories in your home folder. 
     157Lastly, delete the `ffmpeg`, `fdk-aac`, and `x264` directories in your home folder. 
    219158 
    220159== If You Need Help ==