ffmpeg学习(2)——Ubuntu下编译ffmpeg

一:下载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 //必须指定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


你可能感兴趣的:(streaming,media)