1. ffmpeg下载,需要工具,这里介绍SubVersion。
1)下载berkeley DB, 这个版本很关键,要和你后面下载的apache版本对应,不然编译过程中会出现berkeley DB not found错误。我以前用的db-4.0.14,apr和apr-util(这是个apache的project,全名是Apache Portable Runtime),用的httpd-2.2.4,出错。后来换db-4.5.20编译通过。
下载版本:
Oracle.com/berkeley-db/db-4.0.14.tar.gz
2) 编译安装db
cd ./db-4.5.20/build_unix
../dist/configure --prefix=/usr/local/db-4.5.20
make & make install
3)下载apcha(httpd-2.2.4),安装apr
,解压
cd ./httpd-2.2.4/srclib/apr/
./configure --prefix=/usr/local/apr-httpd
make & make install
4)安装apr-util
cd ../apr-util/
./configure --prefix=/usr/local/apr-util-httpd --with-apr=/usr/local/apr-httpd/ --with-berkeley-db=/usr/local/db-4.5.20
make & make install
5)安装subversion 和 补丁
下载:
解压缩
tar -jxf subversion-1.4.3.tar.bz2
tar -jxf subversion-deps-1.4.3.tar.bz2(直接解压到subverstion-1.4.3目录了)
cd subversion-1.4.3
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make & make install
装完后用svnadmin –version查看下是否有信息,有的话说明安装成功。
svn --version
6)获取ffmpeg
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
我的端口和svn都是正确的,建立server,外面也能访问。访问公司svn server下载也 没有问题,没有防火墙,端口3690未占用,但访问上面两个点checkout,就timeout,郁闷啊
我只能http下载linux版本ffmpeg:ffmpeg-0.5.tar.bz2
但这个版本在后面编译,make后会出现头文件错误,怀疑库没有加载问题。
获得0.6版本
7)支持lame,下载
tar -zxvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure --enable-shared --prefix=/usr(这里推荐尽量装在/usr下)
make & make install
8) 支持Ogg Vorbis:
需要libvorbis, libvorbis-devel,libogg, libogg-devel 这几个rpm包,系统已经安装。
9) 支持xvid
下载解压
cd xvidcore/build/generic
./configure --prefix=/usr --enable-shared
make & make install
10)支持x264(mmpeg版本要求必须大于0.65)
svn下载:
svn co svn://svn.videolan.org/x264/trunk x264
http下载linux版本
./configure --prefix=/usr --enable-shared
make & make install
11)支持AC3和dts编码
AC3: as4已经有,在编译时加模块即可,增加--enable-a52 --enable-gpl编译选项。
libdts:
./configure --prefix=/usr
make & make install
12)支持mpg4 aac,这里我们安装faad2和faac
faad2 下载地址:
patch:
faac 下载地址:
上面这两个下载后编译,make会出现错误Makefile: missing separator. Stop.,修改为tab后还会有新的错误。
重新下载位置:
版本为faac-1.28 faad2-2.7
faad2编译:
autoreconf -ivf(生成自动配置软件源码的脚本例如configure 的工具)
./configure --prefix=/usr --with-mp4v2 --enable-shared
make & make install
faac编译
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
(configure一定要带–enable-shared参数,不然,不会生成共享库 ... enable-shared=max是指除了so以外的所有标准模块都编译成DSO模块)
13)支持3gp格式
格式 模块是 编译时加--enable-amr_nb --enable-amr_wb 参数如果出现有错误提示需下载下面的模块
wget 解压以后把里面的文件都拷贝到libavcodec/amrwb_float。
wget 解压以后把里面的文件都拷贝到libavcodec/amr_float
14)ffmpeg支持VC1格式 以及 采用ffmpeg转码制作FLV文件的方法 因为功能暂不编译
15)编译ffmpeg
网上编译选项,一般如以下,但新版本的ffmpeg不支持,一些选项会有错误。
./configure --prefix=/usr --enable-gpl --enable-mp3lame --enable-amr_if2 --enable-amr_nb --enable-amr_wb --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-pp --enable-faad --enable-faac --enable-pthreads --disable-ffserver --disable-ffplay
运行./configure --help看允许选项。出现free选项,增加no freee选项在前面
./configure --prefix=/usr --enable-gpl --enable-shared --enable-nonfree --enable-libvorbis --enable-libxvid --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-pthreads --disable-ffserver --disable-ffplay
make
make install
OK 成功!累啊,尤其我的svn总下载不下来,引起很多问题。