最近学习ffmpeg,需要安装ffmpeg ubuntu10.04,环境中成功安装,记录一下。
1.安装编译环境
1)gcc/gcc-c++/gdb/make等工具
sudo apt-get install build-essential
2)
sudo apt-get install automake
3)
sudo apt-get install libtool
4)
sudo apt-get install libgtk2.0-dev
2.ffmpeg所需要的包
一、FFMEPG安装前的支持软件包
1、lame 支持mp3
# wgethttp://jaist.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz
# tar zxvf lame-398-2.tar.gz
# cd lame-398-2
# ./configure ---prefix=/usr --enable-shared
# make && make install
2、xvid高质量的压缩格式
# wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
# tar -zxvf xvidcore-1.2.1.tar.gz
# cd xvidcore/build/generic/
# ./configure --prefix=/usr
# make && make install
3、安b yasm yasm-0.7.1.tar.gz
#wgethttp://www.tortall.net/projects/yasm/releases/yasm-0.8.0.tar.gz
# tar -zxvf yasm-0.8.0.tar.gz |cd -
# cd yasm-0.8.0
# ./configure --prefix=/usr
# make && make install
4、x264高质量的压缩格式
x264-snapshot-20100301-2245.tar.bz2
Url:http://www.videolan.org/developers/x264.html
wgetftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20100301-2245.tar.bz2
tar x264-snapshot-20100301-2245.tar.bz2
cd x264-snapshot-20100301-2245
./configure --prefix=/usr --enable-shared
make && make install
支持AC3和DTS
5、libdts dts编码的支持
# wget http://down1.chinaunix.net/distfiles/libdts-0.0.2.tar.gz
# tarzxvf libdts-0.0.2.tar.gz
# cd libdts-0.0.2
# ./configure --prefix=/usr--enable-shared
# make && make install
6、a52
# wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
# tar zxvf a52dec-0.7.4.tar.gz
# cd a52dec-0.7.4
# ./configure --prefix=/usr --enable-shared
# make && make install
支持MPEG4和AAC
7、faad2
# wget http://nchc.dl.sourceforge.net/sourceforge/faac/faad2-2.7.tar.bz2
# cd faad2-2.7
autoreconf -vif
./configure --prefix=/usr --with-mpeg4ip --enable-shared
# make && makeinstall
8、faac
# wgethttp://nchc.dl.sourceforge.net/sourceforge/faac/faac-1.28.tar.bz2
# cd faac-1.28
./bootstrap
./configure --prefix=/usr --with-mp4v2--enable-shared
# make && make install
编译FAAC-1.28时遇到错误:
mpeg4ip.h:126: error: new declaration ‘char*strcasestr(const char*, const char*)’
解决方法:
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef__cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(constchar *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
支持3gp格式(注意:ffmpeg0.6版本以前使用9、10两个包,如果0.6版本(包括0.6版本)以后使用11的包)
9、amr-nb
# wgethttp://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
# tar -jxvf amrnb-7.0.0.2.tar.bz2
# cd amrnb-7.0.0.2
# ./configure --prefix=/usr&& make && make install
10、amr-wb
# wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
# tar -jxvf amrwb-7.0.0.3.tar.bz2
# cd amrwb-7.0.0.3
# ./configure --prefix=/usr&& make && make install
11、opencore-amr-0.1.2.tar.gz
http://nchc.dl.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/
tar zxvf opencore-amr-0.1.2.tar.gz
cd opencore-amr-0.1.2
./configure --prefix=/usr
make && make install
http://www.ffmpeg.org/releases/ffmpeg-0.6.tar.gz
tar zxvf ffmpeg-0.6.tar.gz
cd ffmpeg-0.6
./configure --prefix=/opt/ffmpeg-x86 --enable-gpl--enable-shared --enable-libmp3lame --enable-libxvid --enable-libfaadbin--enable-libfaad --enable-libfaac --enable-nonfree --enable-libx264--enable-pthreads --enable-version3 --enable-libopencore-amrnb--enable-libopencore-amrwb --enable-avfilter --disable-ffserver --disable-ffplay
在/etc/profile文件中加库路径
exportLD_LIBRARY_PATH=/opt/ffmpeg-x86/lib:$LD_LIBRARY_PATH
source 一下
编译文件:
gcc -o test tutorial01.c-lavcodec -lavformat -lswscale -lavutil -I/opt/ffmpeg-x86/include-L/opt/ffmpeg-x86/lib