centos 6.3
首先要安装各种解码器
1、lame
lame-3.99.5.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安装方法如下:
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:http://www.xiph.org/downloads/
安装方法如下:
3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)
安装方法如下:
1 ./configure 2 make 3 make install
4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安装方法如下:
5、x264
latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:
1 tar -jxvf latest_x264.tar.bz2
2 ./configure
3 make
4 make install
6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html
安装方法:
7、a52
a52dec-0.7.4.tar.gz (这个库从2002年就没有更新过了)
http://liba52.sourceforge.net/downloads.html
安装方法:
8、faad2
faad2-2.7.tar.gz
http://www.audiocoding.com/downloads.html
安装方法
9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安装方法:
10、amr-nb
amrnb-10.0.0.0.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )
安装方法:
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )
安装方法:
1 ./configure 2 make 3 make install
下载源码
从ffmpeg官网:https://www.ffmpeg.org/download.html下载源代码,当前最新的版本为ffmpeg-2.5.3.tar.bz2。
解压文件
进入目录
配置
安装yasm,ffmpeg编译中为了提高编译速度,使用了汇编指令,于是需要使用这个工具。
或者同样使用源码方式安装,下载yasm源代码,然后使用./configure、make以及make istall进行安装。
当然,如果实在不想要这个功能,可以在下一步的配置中使用./configure –disable-yasm选项。
配置必要选项,这一步根据自己需要开启或关闭某些选项,具体可以使用./configure –help查看,或者直接查看configure文件。本文使用如下简单配置。
其中–enable-shared表示生成动态链接库,可以供以后编程使用,同时生成的可执行程序也依赖这些动态库。如果不加上–enable-shared选项则使用静态链接的方式编译,此时不会生成动态库,同时生成的ffmpeg等的可执行文件也比较大,但他们不需要动态库就可以直接运行
。
–prefix表示程序安装的目录,这里设为/usr/local/ffmpeg。
编译安装
编译,需要较长时间,10分钟左右。
安装,很快完成。
如果你的用户没有运行sudo命令的权限,需要管理员运行编辑/etc/sudoers文件,在
下面添加一行
其中noalgo为添加的用户的名称。
路径处理
安装完成后在/usr/local/ffmpeg出现三个目录:
- bin:可执行文件目录
- lib:动态链接库目录
- include:编程用到的头文件目录
不管是编程还是可执行程序的执行都需要依赖lib下面的动态库,可以把里面的so文件拷贝到/usr/lib下,但可以直接修改配置文件。通过查看/etc/ld.so.conf文件,发现里面只有一句话:
表明其包含了ld.so.conf.d下所有的conf文件,于是可以在/etc/ld.so.conf.d/创建一个新的文件ffmpeg.conf,其中之包含一句话,即为ffmpeg的lib目录:
再执行ldconfig,更新ld.so.cache,使修改生效。
为了在任何地方能够直接用ffmpeg运行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式运行程序,可以把可执行程序复制到bin目录下,这里选择在bin目录下创建软链接。软链接类似于Windows下的快捷方式,如果原可执行程序被删除了,软链接也不能继续使用,而硬链接则可以继续使用。创建链接命令如下:
另外,如果变成需要包含ffmpeg的头文件,最好将include目录下的ffmpeg复制到/usr/include中。
运行
现在可以在shell中直接输入ffmpeg运行程序,得到以下结果: