您的位置:首页 > 其它

Compile FFmpeg on Ubuntu, Debian, or Mint

2014-05-08 11:23 295 查看


Compile FFmpeg on Ubuntu, Debian, or Mint

 

Contents

Get the Dependencies

Compilation & Installation

Finish

Updating FFmpeg

Reverting Changes Made by This Guide

If You Need Help

Also See

 

This guide for supported releases of Ubuntu, Debian, and Linux Mint will provide a local install of the latest FFmpeg tools
and libraries including several external encoding and decoding libraries (codecs). This will not provide a system installation and therefore will not interfere with anything such as repository packages. Recent static builds are also available for lazy people
or those who are unable to compile.


Get the Dependencies

Copy and paste the whole code box for each step.
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential git libass-dev libgpac-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \
libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
mkdir ~/ffmpeg_sources


Server users can omit the ffplay and x11 dependencies: libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev.

Ubuntu 10.04 Lucid users will need to install the git-core package instead of the git package. Lucid lacks the package libva-dev. This
can be ignored.


Compilation & Installation

One advantage to compiling is that you can build ffmpeg to your liking. 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 libopus is not needed, then skip that section and then remove --enable-libopus from the Install FFmpeg section.


Yasm

Yasm is an assembler used by x264 and FFmpeg.

Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the yasm package from the repository instead of compiling.
cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
. ~/.profile


x264

H.264 video encoder. See the x264 Encoding Guide for more information and examples.
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264.git
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean


Note: You can download the nightly  x264 source snapshot as an alternative
to using git.


fdk-aac

AAC audio encoder. See the AAC Encoding Guide for more information and examples.
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean


Note: You can download a  fdk-aac source snapshot as an alternative to
using git.


libmp3lame

MP3 audio encoder.

Most users can install the repository package:
sudo apt-get install libmp3lame-dev


Ubuntu 10.04 and Debian Squeeze users must compile:
sudo apt-get install nasm
cd ~/ffmpeg_sources
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared
make
make install
make distclean


libopus

Opus audio decoder and encoder.

Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the libopus-dev package from the repository instead of compiling.
cd ~/ffmpeg_sources
wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz tar xzvf opus-1.0.3.tar.gz
cd opus-1.0.3
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean


libvpx

VP8/VP9 video encoder and decoder. See the vpx (WebM) Encoding Guide for more information and examples.

Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the libvpx-dev package from the repository instead of compiling.
cd ~/ffmpeg_sources
git clone --depth 1 http://git.chromium.org/webm/libvpx.git cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean


Note: You can download a  libvpx source snapshot as an alternative to
using git.


ffmpeg

Note: Server users should remove --enable-x11grab from the following command:

cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx \
--enable-libx264 --enable-nonfree --enable-x11grab
make
make install
make distclean
hash -r


Note: You can download the nightly FFmpeg source snapshot as an alternative to using git.


Finish

Installation is now complete and ffmpeg is now ready for use. See the x264 Encoding Guide for examples.

If you do not see FFmpeg developers in your ffmpeg console output then something went wrong and you're probably using the  fake
"ffmpeg" from the repository.

HTML formatted documentation is available in ~/ffmpeg_build/share/doc/ffmpeg.

You can keep the ffmpeg_sources directory if you plan on updating later. See Updating FFmpeg below for more details followed by instructions for reverting all changes made by this guide.


Updating FFmpeg

Development of FFmpeg is active and an occasional update can give you new features and bug fixes. First, remove (or move) the old files and then update the dependencies:
rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential git libass-dev libgpac-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \
libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev


Server users can omit: libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev.


x264

cd ~/ffmpeg_sources/x264
make distclean
git pull


Now run ./configure, make, and make install as shown in the Install x264 section.


fdk-aac

cd ~/ffmpeg_sources/fdk-aac
make distclean
git pull


Now run ./configure, make, and make install as shown in the Install fdk-aac section.


libvpx

cd ~/ffmpeg_sources/libvpx
make clean
git pull


Now run ./configure, make, and make install as shown in the Install libvpx section.


ffmpeg

cd ~/ffmpeg_sources/ffmpeg
make distclean
git pull


Now run ./configure, make, and make install as shown in the Install FFmpeg section.


Reverting Changes Made by This Guide

To remove ffmpeg, x264, and dependencies installed for this guide:
rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}
sudo apt-get autoremove autoconf automake build-essential git libass-dev libgpac-dev \
libmp3lame-dev libopus-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libvpx-dev libx11-dev libxext-dev libxfixes-dev texi2html zlib1g-dev
hash -r


If You Need Help

Feel free to ask questions at the #ffmpeg IRC channel or the ffmpeg-user mailing list.


Also See

x264 Encoding Guide

AAC Encoding Guide


External Links

 Howto: Compile the development version of VLC under the latest Ubuntu release

 Howto: Build the svn MPlayer under the latest release version of Ubuntu
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: