| 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 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]). |
| | 80 | === opus (optional) === |
| | 81 | Opus audio encoder and decoder. Add `--enable-libopus` to your ffmpeg `./configure` line if you want to use this. |
| | 82 | {{{ |
| | 83 | cd |
| | 84 | git clone --depth 1 git://git.xiph.org/opus.git |
| | 85 | cd opus |
| | 86 | ./autogen.sh |
| | 87 | ./configure --disable-shared |
| | 88 | make |
| | 89 | sudo checkinstall --pkgname=libopus --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \ |
| | 90 | --deldoc=yes --fstrans=no --default |
| | 91 | }}} |
| | 92 | |
| | 93 | === libaacplus (optional) === |
| | 94 | HE-AAC audio encoder. Add `--enable-libaacplus` to your ffmpeg `./configure` line if you want to use this. |
| | 95 | {{{ |
| | 96 | sudo apt-get install -y libfftw3-dev automake unzip |
| | 97 | cd |
| | 98 | wget http://217.20.164.161/~tipok/aacplus/libaacplus-2.0.2.tar.gz |
| | 99 | tar xzvf libaacplus-2.0.2.tar.gz |
| | 100 | cd libaacplus-2.0.2 |
| | 101 | ./autogen.sh --disable-shared --enable-static |
| | 102 | make |
| | 103 | sudo checkinstall --pkgname=libaacplus --pkgversion=2.0.2 --backup=no --deldoc=yes \ |
| | 104 | --fstrans=no --default |
| | 105 | }}} |
| | 106 | |
| 99 | | |
| 100 | | '''Note 2:''' if you wish to add --enable-libaacplus to configure above you will need to first do this |
| 101 | | {{{ |
| 102 | | $ wget http://217.20.164.161/~tipok/aacplus/libaacplus-2.0.2.tar.gz |
| 103 | | $ tar -xf libaacplus-2.0.2.tar.gz && cd libaacplus-2.0.2 |
| 104 | | $ ./autogen.sh |
| 105 | | $ make |
| 106 | | $ sudo checkinstall --pkgname=libaacplus --pkgversion=2.0.2 --backup=no --deldoc=yes --fstrans=no --default |
| 107 | | $ sudo ldconfig |
| 108 | | }}} |
| 109 | | '''Note 3:''' To compile FFmpeg with '''opus''' support configure it with --enable-libopus. |
| 110 | | For Ubuntu 12.10 (Quantal Quetzal) onwards add '''libopus-dev''' to the dependencies. |
| 111 | | |
| 112 | | For earlier versions compile and install opus library instead. |
| 113 | | |
| 114 | | This method is OK:- |
| 115 | | {{{ |
| 116 | | $ git clone --depth 1 git://git.xiph.org/opus.git |
| 117 | | $ cd opus && ./autogen.sh && ./configure --disable-shared |
| 118 | | $ make |
| 119 | | $ sudo checkinstall --pkgname=libopus --pkgversion="1.1.1+git$(date +%Y%m%d)" --backup=no --deldoc=yes --fstrans=no --default |
| 120 | | }}} |
| 121 | | |
| 122 | | |
| 123 | | |
| 160 | | sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev \ |
| 161 | | libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \ |
| 162 | | librtmp-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev \ |
| 163 | | libx11-dev libxext-dev libxfixes-dev texi2html yasm zlib1g-dev |
| | 161 | sudo apt-get -y install build-essential checkinstall git libass-dev libfaac-dev \ |
| | 162 | libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \ |
| | 163 | librtmp-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev \ |
| | 164 | libxext-dev libxfixes-dev texi2html yasm zlib1g-dev |
| 203 | | sudo apt-get -y autoremove autoconf build-essential checkinstall fdk-aac ffmpeg git libfaac-dev libgpac-dev \ |
| 204 | | libjack-jackd2-dev libmp3lame-dev librtmp-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ |
| 205 | | libvorbis-dev libvpx libx11-dev libxfixes-dev pkg-config qt-faststart texi2html x264 yasm zlib1g-dev |
| 206 | | }}} |
| 207 | | Lastly, delete the `x264`, `fdk-aac`, `libvpx`, and `ffmpeg` directories in your home folder. |
| | 204 | sudo apt-get -y autoremove autoconf automake build-essential checkinstall fdk-aac ffmpeg git libfaac-dev \ |
| | 205 | libfftw3-dev libgpac-dev libjack-jackd2-dev libmp3lame-dev librtmp-dev libsdl1.2-dev libtheora-dev \ |
| | 206 | libtool libva-dev libvdpau-dev libvorbis-dev libvpx libx11-dev libxfixes-dev pkg-config qt-faststart \ |
| | 207 | texi2html x264 yasm zlib1g-dev |
| | 208 | }}} |
| | 209 | Lastly, delete the `x264`, `fdk-aac`, `libvpx`, `opus`, `libaacplus` and `ffmpeg` directories in your home folder. |