Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158031
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 256
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-10 09:15
个人简介

熟悉多种视频标准,如h.264, MPEG-2/MPEG-4, AVS.

文章分类

全部博文(47)

文章存档

2015年(5)

2014年(22)

2013年(20)

我的朋友

分类: 其他平台

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编码库,x264aac的编码库,并且不需要安装ffserverffprobe同时我们创建动态共享库,则配置如下所示:

./configure --enable-gpl --enable-nonfree --enable-shared --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-pthreads --disable-ffserver --disable-ffplay

 

参考:

 

2.  需要第三方的mp3编码库,x264aac的编码库,同时我们创建静态库,则配置如下:

./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

 

 

 

阅读(5569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~