首先要安装各种解码器
1、lame lame-3.99.5.tar.gz Url: 安装方法如下:1 tar -zxvf lame-3.99.5.tar.gz 2 cd lame-3.99.5 3 ./configure --enable-shared 4 make 5 make install
2、libogg
libogg-1.3.1.tar.gz Url:安装方法如下:3、libvorbis
libvorbis-1.3.3.tar.gz Url:(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)
安装方法如下:1 ./configure 2 make 3 make install
4、xvid
xvidcore-1.3.2.tar.gz Url: 安装方法如下:5、x264
latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245) Url: 安装方法如下: 1 2 3 4 | 1 tar -jxvf latest_x264.tar.bz2 2 ./configure 3 make 4 make install |
6、libdts
libdca-0.0.5.tar.bz2Url: 安装方法:7、a52
a52dec-0.7.4.tar.gz (这个库从2002年就没有更新过了) 安装方法:8、faad2
faad2-2.7.tar.gz 安装方法9、faac
faac-1.28.tar.gz 安装方法:10、amr-nb
amrnb-10.0.0.0.tar.bz2 ( 从此处下载最新版本 )安装方法:11、amr-wb
amrwb-7.0.0.1.tar.bz2 ( 从此处下载最新版本 )安装方法:1 ./configure 2 make 3 make install
1 2 3 | 1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay 2 make 3 make install |
在./configure的时候会报错, 提示说没有libopencore-amrnb和libopencore-amrwb两个库. 我参考了 [2], 使用如下命令安装它们:
1 | sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev |
如果./configure的时候加入 --enable-shared, 编译安装没有问题. 但是运行ffmpeg命令就会出错:
1 | relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference; |
这时可以参考 [3], 大意是说跟gstreamer的动态库冲突了, 要卸载gstreamer. 但是如果卸载了gstreamer我的多媒体软件多不能用了. 所以我卸载了ffmpeg并重新编译成静态库. 安装完之后, 运行ffmpeg成功, 输出如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay libavutil 52. 38.100 / 52. 38.100 libavcodec 55. 18.102 / 55. 18.102 libavformat 55. 12.100 / 55. 12.100 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 79.101 / 3. 79.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... |
[1] http://yezi.iteye.com/blog/139399
[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/
[3] http://blog.csdn.net/nil_foc/article/details/6547047