FFMPEG 安装

项目里一直有使用FFMPEG,不过以前都是运维安装的,今天有事,我来搞搞,顺便学习记录下。

参考地址

准备工作

git 以及其他相关的命令安装

几个存放目录

安装步骤

NASM

编译工具,高度推荐,不然下面编译的时候会特别慢。

cd ~/ffmpeg_sources

curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/nasm-2.13.02.tar.bz2

tar xjvf nasm-2.13.02.tar.bz2

cd nasm-2.13.02

./autogen.sh

./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"

make

make install

Yasm

同上,编译工具。

cd ~/ffmpeg_sources

curl -O -L 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

libx264

解码H.264,如果在编译 ffmpeg的时候带着--enable-gpl -enable-libx264的话,需要安装。

cd ~/ffmpeg_sources

git clone --depth 1 http://git.videolan.org/git/x264

cd x264

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static

make

make install

libx265

解码H.265,如果在编译 ffmpeg的时候带着--enable-gpl -enable-libx265的话,需要安装。

cd ~/ffmpeg_sources

hg clone https://bitbucket.org/multicoreware/x265

cd ~/ffmpeg_sources/x265/build/linux

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source

make

make install

libfdk_aac

AAC解码,参考的地址上出错,没有安装成功。不过各位可以一试。如果在编译 ffmpeg的时候带着--enable-libfdk_aac的话,需要安装。

cd ~/ffmpeg_sources

git clone --depth 1 https://github.com/mstorsjo/fdk-aac

cd fdk-aac

autoreconf -fiv

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

libmp3lame

mp3 音频解码。如果在编译 ffmpeg的时候带着--enable-libmp3lame的话,需要安装。

cd ~/ffmpeg_sources

curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz

tar xzvf lame-3.100.tar.gz

cd lame-3.100

./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm

make

make install

libopus

opus 音频解码。如果在编译 ffmpeg的时候带着--enable-libopus的话,需要安装.

cd ~/ffmpeg_sources

curl -O -L https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz

tar xzvf opus-1.2.1.tar.gz

cd opus-1.2.1

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

libogg

ogg码流。Ogg bitstream library. Required by libtheora and libvorbis.

cd ~/ffmpeg_sources

curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz

tar xzvf libogg-1.3.3.tar.gz

cd libogg-1.3.3

./configure --prefix="$HOME/ffmpeg_build" --disable-shared

make

make install

libvorbis

Vorbis 音频解码,依赖libogg.如果在编译 ffmpeg的时候带着--enable-libvorbis的话,需要安装.

cd ~/ffmpeg_sources

curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz

tar xzvf libvorbis-1.3.5.tar.gz

cd libvorbis-1.3.5

./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared

make

make install

libvpx

VP8/VP9 video encoder and decoder. See the https://trac.ffmpeg.org/wiki/Encode/VP9 for more information and usage examples.

Requires ffmpeg to be configured with --enable-libvpx.

cd ~/ffmpeg_sources

git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git

cd libvpx

./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm

make

make install

ffmpeg

最终的主角。

根据上面选择安装的库,配置下面的配置。

cd ~/ffmpeg_sources

curl -O -L https://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" \

--extra-libs=-lpthread \

--extra-libs=-lm \

--bindir="$HOME/bin" \

--enable-gpl \

--enable-libfdk_aac \

--enable-libfreetype \

--enable-libmp3lame \

--enable-libopus \

--enable-libvorbis \

--enable-libvpx \

--enable-libx264 \

--enable-libx265 \

--enable-nonfree

make

make install

hash -r

上面的库选择安装,需要哪个就安装哪个

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐