1、下载ffmpeg。
http://www.ffmpeg.org/download.html#build-linux
2.解压
tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2
3.配置
./configure --enable-shared --prefix=/usr/local/ffmpeg
编译FFMPEG时,出现了 ffmpeg yasm not found, use --disable-yasm for a crippled build,是因为 FFMPEG为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话,就会出现上述的问题。
解决办法是:
A 如果是Windows系统, 从网上下载一个 yasm.exe 并安装在mingw/bin下面,重新编译,就不会出现该错误了;
B 如果是Linux系统,则更简单,直接在终端输入 sudo apt-get install yasm ,安装好后,重新编译就 OK了。
4.make
5.make install
6、安装之后在/usr/local/ffmpeg会看到有三个目录
lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录
执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3
./ffplay 1.mp3
另外,bin目录下还有两个文件:ffmpeg和ffserver
ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。
7、编程
如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:
#include
编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)
如果没有第6部的操作,则编译的时候如下:
gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。