熟悉多种视频标准,如h.264, MPEG-2/MPEG-4, AVS.
全部博文(47)
分类: 其他平台
2015-03-10 17:41:43
FFmpeg 安装及配置说明
FFmpeg自带有多种应用层协议,容器,音视频解码器的解析代码,但是对某些音视频格式编码时,需要调用第三方库。因此如果需要对lame mp3编码, aac编码,vpx编码以及x264等进行编码,则需要安装相应的库,并且在配置行中加载这些库。
一、库文件下载:
1、 ffmpeg库
2、 x264库
http://www.videolan.org/developers/x264.html
3、 lame mp3编码库
4、 faac编码器
5、 vpx编码器
6、 Yasm
二、第三方库文件的安装
1、 X264
./configure --enable-shared
sudo make && make install
或者
./configure --enable-static
sudo make && make install
2、 Lame mp3
./configure --enable-shared --enable-nasm
sudo make && make install
或者:
./configure --disable-shared --enable-nasm
sudo make && make install
3、 Faac
./configure
sudo make && make install
4、 Vpx
./configure --disable-examples
make && make install
5、 Yasm
./configure
sudo make && make install
三、FFmpeg配置选项
1. 需要第三方的mp3编码库,x264和aac的编码库,并且不需要安装ffserver和ffprobe,同时我们创建动态共享库,则配置如下所示:
./configure --enable-gpl --enable-nonfree --enable-shared --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-pthreads --disable-ffserver --disable-ffplay
参考:
2. 需要第三方的mp3编码库,x264和aac的编码库,同时我们创建静态库,则配置如下:
./configure --enable-gpl --enable-nonfree --disable-shared --enable-static --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfaac --enable-pthreads --extra-libs=-lpthread
在FFmpeg2.5.3下,配置和下面的等同
./configure --enable-gpl --enable-nonfree --disable-shared --enable-static --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfaac --enable-pthreads --extra-libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers
参考:
FFMPEG Bug Tracker and Wiki:
使用的FFmpeg版本为2.5.3
./configure –help
可以查看到FFmpeg的配置选项。
注释1:
--enable-gpl allow use of GPL code, the resulting libs
and binaries will be under GPL [no]
--enable-nonfree allow use of nonfree code, the resulting libs
and binaries will be unredistributable [no]
--enable-shared build shared libraries [no]
--enable-pthreads 启用pthreads(多线程)(默认关闭)use pthreads [default=no]
--disable-ffmpeg disable ffmpeg build(默认安装ffmpeg)
--disable-ffplay disable ffplay build(默认不安装ffplay)
--disable-ffprobe disable ffprobe build(默认安装ffprobe)
--disable-ffserver disable ffserver build(默认安装ffserver)
--disable-parsers disable all parsers
--enable-debug=LEVEL set the debug level [](默认设置AV_LOG_DEBUG)
--disable-bzlib disable bzlib [autodetect]
--disable-zlib disable zlib [autodetect]
--extra-libs=ELIBS add ELIBS []
--disable-encoders disable all encoders
--disable-decoders disable all decoders
--disable-avfilter disable libavfilter build
--disable-muxers disable all muxers
--disable-demuxers disable all demuxers
--enable-static 构建静态库
--disable-postproc disable libpostproc build
注释2:
创建静态库时,即--disable-shared --enable-static,需要足够的swap空间,否则会报错,即:
collect2: ld terminated with signal 9 [Killed]
make: *** [ffmpeg_g] Error 1