因为工作需要,得在机器上安装一些音视频编解码软件来研究,于是有此文。
参考[]
安装subversion
下载软件
mplayer:svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
ffmpeg:svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
vlc:
下载[为了支持mp3]、、和[为了支持3gp]、、
x264[为了支持h264编解码]、[为了支持AC3]。
编译安装。对于3gp的这两个模块,我是手动把他们编译安装的:
#Makefile.amrnb
CFLAGS=-fPIC -Wall -I. -DETSI -DVAD1 -O4
all:
$(CC) -c interf_dec.c $(CFLAGS)
$(CC) -c interf_enc.c $(CFLAGS)
$(CC) -c sp_enc.c $(CFLAGS)
$(CC) -c sp_dec.c $(CFLAGS)
$(AR) rcs libamrnb.a *.o
$(CC) -shared -Wl,-soname,libamrnb.so -o libamrnb.so.1.0 *.o -lc
install:
install *.h /usr/local/include/amrnb
install lib* /usr/local/lib
#Makefile.amrwb
CFLAGS=-fPIC -Wall -I. -O4
all:
$(CC) -c enc_acelp.c $(CFLAGS)
$(CC) -c enc_dtx.c $(CFLAGS)
$(CC) -c enc_gain.c $(CFLAGS)
$(CC) -c enc_if.c $(CFLAGS)
$(CC) -c enc_lpc.c $(CFLAGS)
$(CC) -c enc_main.c $(CFLAGS)
$(CC) -c enc_rom.c $(CFLAGS)
$(CC) -c enc_util.c $(CFLAGS)
$(CC) -c if_rom.c $(CFLAGS)
$(CC) -c dec_acelp.c $(CFLAGS)
$(CC) -c dec_dtx.c $(CFLAGS)
$(CC) -c dec_gain.c $(CFLAGS)
$(CC) -c dec_if.c $(CFLAGS)
$(CC) -c dec_lpc.c $(CFLAGS)
$(CC) -c dec_main.c $(CFLAGS)
$(CC) -c dec_rom.c $(CFLAGS)
$(CC) -c dec_util.c $(CFLAGS)
$(AR) rcs libamrwb.a *.o
$(CC) -shared -Wl,-soname,libamrwb.so -o libamrwb.so.1.0 *.o -lc
install:
install *.h /usr/local/include/amrwb
install lib* /usr/local/lib
编译faac、faad2时加入--with-mp4v2
全部完成后执行ldconfig确保共享库能被正确找到。
编译ffmpeg并安装:
./configure --enable-shared --enable-pthreads --enable-gpl --enable-nonfree --enable-x11grab --enable-postproc --enable-swscale --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libxvid --disable-network
如果不加--enable-swscale下面编译vlc的时候会出错。
编译vlc并安装:
配置好PKG_CONFIG_PATH环境变量,确保$QTDIR/lib/pkgconfig在其中。
./configure --enable-faad --enable-real --disable-fribidi
编译mplayer并安装:
将解码库解压到/usr/local/lib/codecs下,
./configure --libdir=/usr/local/lib --enable-gui --disable-tv --disable-network --enable-menu --language=zh_CN
如果不加--disable-tv会导致有个地方报错,无法正常编译。
将皮肤解压到/usr/local/share/mplayer/skins下,并在该目录下做个链接:ln -s QuickSilver default。
在$HOME下建立.mplayer目录,做个链接:ln -s /usr/share/fonts/zh_CN/TrueType/zysong.ttf subfont.ttf
到此,ffplay和mplayer都可以播放h264压缩的avi、flv、3gp、mp4文件。