一:下载ffmpeg源码
源码下载网址:http://www.ffmpeg.org/download.html ,然后解压到自己指定目录
二:安装SDL
SDL是一个开源的多媒体开发库,可以设置图像和视频的绘制等操作。如果不安装SDL,FFMPEG将不能生成ffplay.exe播放器。在Ubuntu下安装SDL也很简单,只需要依次执行下列命令:
sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install gfx1.2-dev
(如果make install后没有ffplay:
1、确认Makefile中指定的config.mak(在ffmpeg根目录下)中:CONFIG_FFPLAY=yes,如果不是需要删除原来的源码包和生成文件然后重新./configure
2、在重新./configure之前需要安装libsdl1.2-dev,命令为sudo apt-get install libsdl1.2-dev,如果安装失败,之前如果安装过sdl-devel包最好将其卸载。根据错误原因来解决。
3 然后在依次按步骤执行下面的工作
)三:安装x264和yasm。x264是非常流行的视频编解码工具,yasm则用于x264中汇编语言优化。在安装yasm时需要注意必须获取系统的root权限
yasm需要到官网上下载好源代码,解压后手动编译安装:
./configure
make
make install
在编译过程中,大部分的代码都是通过这种方式编译的
(关于yasm我是直接使用apt-get install yasm获取的好像也是可以的)
到官网下载X264的源代码,编译:
./configure --prefix=/usr --enable-shared<span style="white-space:pre"> </span>//必须指定prefix位置,否则编译ffmpeg的时候会提示找不到libx264
make
make install
(x264也可是使用apt-get install x264直接获取)
四:配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg.
注:--enable-shared 是允许其编译产生动态库,
那么--enable-static 应该是产生静态库,
在以后的编程中要用到这个几个动态库。--prefix设置的安装目录
五:编译安装ffmpeg
make
make install
安装成功后会在/usr/local/ffmpeg下出现三个目录
bin执行文件目录
lib,静态,动态库目录
include 头文件目录
问题及问题解决:
a. ffmpeg: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory
解决方法:
vi /etc/ld.so.conf
加入:/usr/local/lib
/usr/local/ffmpeg/lib
执行ldconfig