Changes between Version 55 and Version 56 of CompilationGuide/Ubuntu
- Timestamp:
- May 11, 2013, 8:57:53 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CompilationGuide/Ubuntu
v55 v56 3 3 [[PageOutline(2, Contents)]] 4 4 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]]. 6 6 7 7 '''Note:''' Copy and paste the whole code box for each step. … … 11 11 Remove any existing packages: 12 12 {{{ 13 sudo apt-get remove ffmpeg x264 libav-tools lib vpx-dev libx264-dev yasm13 sudo apt-get remove ffmpeg x264 libav-tools libx264-dev 14 14 }}} 15 15 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]. 17 17 18 Get the dependencies ('''Ubuntu Desktop''' users):18 Get the dependencies ('''Ubuntu Desktop'''): 19 19 {{{ 20 20 sudo apt-get update 21 21 sudo 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 25 24 }}} 26 25 27 Get the dependencies ('''Ubuntu Server''' or headless users):26 Get the dependencies ('''Ubuntu Server'''): 28 27 {{{ 29 28 sudo apt-get update 30 29 sudo 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 33 31 }}} 34 32 35 33 == Installation == 36 34 37 === Yasm ===38 39 Yasm is an assembler and is recommended for x264 and FFmpeg.40 {{{41 cd42 wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz43 tar xzvf yasm-1.2.0.tar.gz44 cd yasm-1.2.045 ./configure46 make47 sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no \48 --deldoc=yes --fstrans=no --default49 }}}50 51 35 === 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.36 H.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. 53 37 {{{ 54 38 cd … … 79 63 '''Note:''' You can download a [https://github.com/mstorsjo/fdk-aac/zipball/master fdk-aac source snapshot] as an alternative to using `git`. 80 64 81 === libvpx ===82 VP8 video encoder and decoder.83 {{{84 cd85 git clone --depth 1 http://git.chromium.org/webm/libvpx.git86 cd libvpx87 ./configure --disable-examples --disable-unit-tests88 make89 sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \90 --deldoc=yes --fstrans=no --default91 }}}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 cd99 git clone --depth 1 git://git.xiph.org/opus.git100 cd opus101 ./autogen.sh102 ./configure --disable-shared103 make104 sudo checkinstall --pkgname=libopus --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \105 --deldoc=yes --fstrans=no --default106 }}}107 108 65 === FFmpeg === 109 66 … … 115 72 cd ffmpeg 116 73 ./configure --enable-gpl --enable-libass --enable-libfaac --enable-libfdk-aac --enable-libmp3lame \ 117 --enable-lib opencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-librtmp --enable-libtheora\118 --enable- libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version374 --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 \ 75 --enable-nonfree --enable-version3 119 76 make 120 77 sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no \ … … 126 83 127 84 == Finish == 128 Installation is now complete and FFmpeg is now ready for use. You can keep the x264, libvpx, and ffmpegdirectories 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.85 Installation 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. 129 86 130 87 ---- … … 142 99 143 100 === 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 x264directly. See a [http://ubuntuforums.org/showpost.php?p=11243462&postcount=1839 more detailed explanation] of what this means.101 Re-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. 145 102 {{{ 146 103 cd ~/x264 … … 155 112 ---- 156 113 157 == Updating FFmpeg ==#update114 == Updating FFmpeg ('''Ubuntu Desktop''') ==#update 158 115 Development 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: 159 116 {{{ … … 161 118 sudo apt-get update 162 119 sudo 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 166 122 }}} 167 123 … … 182 138 Now run `./configure`, `make`, and `checkinstall` as shown in the [#fdk-aac Install fdk-aac] section. 183 139 184 === libvpx ===185 {{{186 cd ~/libvpx187 make clean188 git pull189 }}}190 Now run `./configure`, `make`, and `checkinstall` as shown in the [#libvpx Install libvpx] section.191 192 === opus ===193 {{{194 cd ~/opus195 make distclean196 git pull197 }}}198 Now run `./configure`, `make`, and `checkinstall` as shown in the [#opusoptional Install opus] section.199 200 140 === FFmpeg === 201 141 {{{ … … 212 152 {{{ 213 153 sudo 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 217 156 }}} 218 Lastly, delete the ` x264`, `fdk-aac`, `libvpx`, `opus`, and `ffmpeg` directories in your home folder.157 Lastly, delete the `ffmpeg`, `fdk-aac`, and `x264` directories in your home folder. 219 158 220 159 == If You Need Help ==
