本文主要为在Ubuntu,Debian和Mint上编译安装ffmpeg和库文件以及一些扩展的编解码器。固然这与从源中安装无关。html
请首先看一下通用部分。linux
若嫌麻烦,请使用命令apt-get install ffmpeg
安装源中的二进制包。这其中不包含non-free的编解码器。git
安装依赖关系
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
github
服务器用户能够忽略ffplay
和x11grab
的依赖:libsdl2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
web
如今建立一个文件夹,下载源码包到此文件夹下
mkdir ~/ffmpeg_sources
shell
如今就能够编译本身喜欢的ffmpeg了。若是不须要某种编解码器,能够跳过这部分(如:opus对应的libopus),而后在./configure
时移除掉--enable-libopus
就行了ubuntu
建立的文件夹:服务器
ffmpeg_sources
-源码包路径,安装完能够删除ffmpeg_build
-这里面的文件被编译,安装完成后也能够删除bin
-生成的二进制文件(ffpmeg,ffplay,ffserver,x264,x265
)也可简单的撤销操做ide
x264和FFmpeg使用的x86优化的汇编器。很是推荐否则编译极慢!工具
若是系统提供的Yasm版本>=1.2.0,那能够安装系统提供的版本而不用编译
sudo apt-get install yasm
不然须要编译
cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="\(HOME/ffmpeg_build" --bindir="\)HOME/bin"
make
make install
NASM汇编器,x264和其余工具须要
cd ~/ffmpeg_sources wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2 tar xjvf nasm-2.13.01.tar.bz2 cd nasm-2.13.01 ./autogen.sh PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" PATH="$HOME/bin:$PATH" make make install
x264视频编码器。查看H.264编码指南获取更多信息和用法。
须要ffmpeg在./configure
时使用--enable-gpl --enable-libx264
版本要求>=118,系统提供的能够到达要求时能够直接安装sudo apt-get install libx264-dev
否则的话须要编译安装
cd ~/ffmpeg_sources wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 tar xjvf last_x264.tar.bz2 cd x264-snapshot* PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl PATH="$HOME/bin:$PATH" make make install
H265/HEVC视频编码器。查看H.265编码器指南获取更多信息和用法。
版本要求>=68,系统提供的能够到达要求时能够直接安装sudo apt-get install libx265-dev
否则的话须要编译安装
sudo apt-get install cmake mercurial cd ~/ffmpeg_sources hg clone https://bitbucket.org/multicoreware/x265 cd ~/ffmpeg_sources/x265/build/linux PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source make make install
AAC音频编码器。AAC audio Encoding Guide
在./configure时添加
--enable-libfdk-aac #若是使了--enable-gpl还要使用--enable-nonfree
系统源中提供了libfdk-aac-dev能够直接使用
sudo apt-get install libfdk-aac-dev
否则的话须要编译
cd ~/ffmpeg_sources wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master tar xzvf fdk-aac.tar.gz cd mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install
MP3
--enable-libmp3lame
version >= 3.98.3
sudo apt-get install libmp3lame-dev //或者编译源码 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
opus
--enable-libopus
version >= 1.1
sudo apt-get install libopus-dev //或者编译源码 cd ~/ffmpeg_sources wget https://archive.mozilla.org/pub/opus/opus-1.1.5.tar.gz tar xzvf opus-1.1.5.tar.gz cd opus-1.1.5 ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install
vp8/vp9
--enable-libvpx
version >= 0.9.7
sudo apt-get install libvpx-dev //或者编译源码 sudo apt-get install git cd ~/ffmpeg_sources git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git cd libvpx PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests PATH="$HOME/bin:$PATH" make make install
cd ~/ffmpeg_sources wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 tar xjvf ffmpeg-snapshot.tar.bz2 cd ffmpeg PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --bindir="$HOME/bin" \ --enable-gpl \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree PATH="$HOME/bin:$PATH" make make install hash -r
安装完成!编译的二进制文件在bin/中,须要添加到PATH中。
获取帮助:
man ffmpeg
rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffplay,ffserver,x264,x265}
而后从头开始安装步骤
rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffplay,ffserver,x264,x265,nasm} sudo apt-get autoremove autoconf automake build-essential cmake libass-dev libfreetype6-dev \ libmp3lame-dev libopus-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libvpx-dev libx264-dev libxcb1-dev libxcb-shm0-dev ibxcb-xfixes0-dev mercurial texinfo zlib1g-dev sed -i '/ffmpeg_build/c\' ~/.manpath hash -r