Changes between Version 55 and Version 56 of CompilationGuide/Ubuntu


Ignore:
Timestamp:
May 11, 2013, 11:57:53 PM (7 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 ==